You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by lu...@apache.org on 2002/07/23 01:02:55 UTC

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspDocumentParser.java JspUtil.java PageDataImpl.java TagConstants.java TagLibraryInfoImpl.java

luehe       2002/07/22 16:02:55

  Modified:    jasper2/src/share/org/apache/jasper/compiler
                        JspDocumentParser.java JspUtil.java
                        PageDataImpl.java TagConstants.java
                        TagLibraryInfoImpl.java
  Log:
  Added support for Tag File directives in Tag File Documents
  
  Revision  Changes    Path
  1.7       +34 -25    jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspDocumentParser.java
  
  Index: JspDocumentParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspDocumentParser.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- JspDocumentParser.java	17 Jul 2002 20:06:58 -0000	1.6
  +++ JspDocumentParser.java	22 Jul 2002 23:02:55 -0000	1.7
  @@ -183,21 +183,21 @@
   	Attributes attrsCopy = new AttributesImpl(attrs);
   
   	Node node = null;	
  -	if (qName.equals(JSP_ROOT_TAG)) {
  +	if (qName.equals(JSP_ROOT)) {
   	    node = new Node.JspRoot(attrsCopy, start, current);
   	    try {
   		addCustomTagLibraries(attrsCopy);
   	    } catch (JasperException je) {
   		throw new SAXException(je);
   	    }
  -	} else if (qName.equals(JSP_PAGE_DIRECTIVE_TAG)) {
  +	} else if (qName.equals(JSP_PAGE_DIRECTIVE)) {
   	    node = new Node.PageDirective(attrsCopy, start, current);
   	    String imports = attrs.getValue("import");
   	    // There can only be one 'import' attribute per page directive
   	    if (imports != null) {
   		((Node.PageDirective) node).addImport(imports);
   	    }
  -	} else if (qName.equals(JSP_INCLUDE_DIRECTIVE_TAG)) {
  +	} else if (qName.equals(JSP_INCLUDE_DIRECTIVE)) {
   	    node = new Node.IncludeDirective(attrsCopy, start, current);
   	    String file = attrsCopy.getValue("file");
   	    try {
  @@ -209,34 +209,42 @@
   	    } catch (Exception e) {
   		throw new SAXException(e);
   	    }
  -	} else if (qName.equals(JSP_DECLARATION_TAG)) {
  +	} else if (qName.equals(JSP_DECLARATION)) {
   	    node = new Node.Declaration(start, current);
  -	} else if (qName.equals(JSP_SCRIPTLET_TAG)) {
  +	} else if (qName.equals(JSP_SCRIPTLET)) {
   	    node = new Node.Scriptlet(start, current);
  -	} else if (qName.equals(JSP_EXPRESSION_TAG)) {
  +	} else if (qName.equals(JSP_EXPRESSION)) {
   	    node = new Node.Expression(start, current);
  -	} else if (qName.equals(JSP_USE_BEAN_TAG)) {
  +	} else if (qName.equals(JSP_USE_BEAN)) {
   	    node = new Node.UseBean(attrsCopy, start, current);
  -	} else if (qName.equals(JSP_SET_PROPERTY_TAG)) {
  +	} else if (qName.equals(JSP_SET_PROPERTY)) {
   	    node = new Node.SetProperty(attrsCopy, start, current);
  -	} else if (qName.equals(JSP_GET_PROPERTY_TAG)) {
  +	} else if (qName.equals(JSP_GET_PROPERTY)) {
   	    node = new Node.GetProperty(attrsCopy, start, current);
  -	} else if (qName.equals(JSP_INCLUDE_TAG)) {
  +	} else if (qName.equals(JSP_INCLUDE)) {
   	    node = new Node.IncludeAction(attrsCopy, start, current);
  -	} else if (qName.equals(JSP_FORWARD_TAG)) {
  +	} else if (qName.equals(JSP_FORWARD)) {
   	    node = new Node.ForwardAction(attrsCopy, start, current);
  -	} else if (qName.equals(JSP_PARAM_TAG)) {
  +	} else if (qName.equals(JSP_PARAM)) {
   	    node = new Node.ParamAction(attrsCopy, start, current);
  -	} else if (qName.equals(JSP_PARAMS_TAG)) {
  +	} else if (qName.equals(JSP_PARAMS)) {
   	    node = new Node.ParamsAction(start, current);
  -	} else if (qName.equals(JSP_PLUGIN_TAG)) {
  +	} else if (qName.equals(JSP_PLUGIN)) {
   	    node = new Node.PlugIn(attrsCopy, start, current);
  -	} else if (qName.equals(JSP_TEXT_TAG)) {
  +	} else if (qName.equals(JSP_TEXT)) {
   	    node = new Node.JspText(start, current);
  -	} else if (qName.equals(JSP_BODY_TAG)) {
  +	} else if (qName.equals(JSP_BODY)) {
   	    node = new Node.JspBody(attrsCopy, start, current);
  -	} else if (qName.equals(JSP_ATTRIBUTE_TAG)) {
  +	} else if (qName.equals(JSP_ATTRIBUTE)) {
   	    node = new Node.NamedAttribute(attrsCopy, start, current);
  +	} else if (qName.equals(JSP_TAG_DIRECTIVE)) {
  +	    node = new Node.TagDirective(attrsCopy, start, current);
  +	} else if (qName.equals(JSP_ATTRIBUTE_DIRECTIVE)) {
  +	    node = new Node.AttributeDirective(attrsCopy, start, current);
  +	} else if (qName.equals(JSP_VARIABLE_DIRECTIVE)) {
  +	    node = new Node.VariableDirective(attrsCopy, start, current);
  +	} else if (qName.equals(JSP_FRAGMENT_INPUT_DIRECTIVE)) {
  +	    node = new Node.FragmentInputDirective(attrsCopy, start, current);
   	} else {
   	    node = getCustomTag(qName, attrsCopy, start, current);
   	    if (node == null) {
  @@ -468,14 +476,15 @@
   		    uri = uri.substring(URN_JSPTLD.length());
   		}
   
  -                TldLocationsCache cache=ctxt.getOptions().getTldLocationsCache();
  -                TagLibraryInfo tl=cache.getTagLibraryInfo( uri );
  -                if( tl==null ) {
  +                TldLocationsCache cache
  +		    = ctxt.getOptions().getTldLocationsCache();
  +                TagLibraryInfo tl = cache.getTagLibraryInfo(uri);
  +                if (tl == null) {
                       // get the location
                       String[] location = ctxt.getTldLocation(uri);
                   
  -                    tl = new TagLibraryInfoImpl(ctxt, prefix, uri,
  -                                                location, err);
  +                    tl = new TagLibraryInfoImpl(ctxt, prefix, uri, location,
  +						err);
                   }
   		taglibs.put(prefix, tl);
   	    }
  
  
  
  1.6       +31 -5     jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java
  
  Index: JspUtil.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- JspUtil.java	16 Jul 2002 19:30:51 -0000	1.5
  +++ JspUtil.java	22 Jul 2002 23:02:55 -0000	1.6
  @@ -434,10 +434,36 @@
       }
   
       /**
  -     * Replaces any occurrence of <tt>replace</tt> with <tt>with</tt> in the
  -     * given string.
  +     * Replaces any occurrences of the character <tt>replace</tt> with the
  +     * string <tt>with</tt>.
        */
       public static String replace(String name, char replace, String with) {
  +	StringBuffer buf = new StringBuffer();
  +	int begin = 0;
  +	int end;
  +	int last = name.length();
  +
  +	while (true) {
  +	    end = name.indexOf(replace, begin);
  +	    if (end < 0) {
  +		end = last;
  +	    }
  +	    buf.append(name.substring(begin, end));
  +	    if (end == last) {
  +		break;
  +	    }
  +	    buf.append(with);
  +	    begin = end + 1;
  +	}
  +	
  +	return buf.toString();
  +    }
  +
  +    /**
  +     * Replaces any occurrences of the character <tt>replace</tt> with the
  +     * character <tt>with</tt>.
  +     */
  +    public static String replace(String name, char replace, char with) {
   	StringBuffer buf = new StringBuffer();
   	int begin = 0;
   	int end;
  
  
  
  1.5       +23 -23    jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/PageDataImpl.java
  
  Index: PageDataImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/PageDataImpl.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PageDataImpl.java	16 Jul 2002 19:30:51 -0000	1.4
  +++ PageDataImpl.java	22 Jul 2002 23:02:55 -0000	1.5
  @@ -243,7 +243,7 @@
   	 * Visits root node of JSP page in JSP syntax.
   	 */
   	public void visit(Node.Root n) throws JasperException {
  -	    appendTag(JSP_ROOT_TAG, n.getAttributes(), n.getBody());
  +	    appendTag(JSP_ROOT, n.getAttributes(), n.getBody());
   	}
   
   	/*
  @@ -255,7 +255,7 @@
   	public void visit(Node.JspRoot n) throws JasperException {
   	    if (n == this.root) {
   		// top-level jsp:root element
  -		appendTag(JSP_ROOT_TAG, n.getAttributes(), n.getBody());
  +		appendTag(JSP_ROOT, n.getAttributes(), n.getBody());
   	    } else {
   		visitBody(n);
   	    }
  @@ -276,61 +276,61 @@
   
   	public void visit(Node.Declaration n) throws JasperException {
   	    // jsp:declaration has no attributes, except for jsp:id
  -	    appendTag(JSP_DECLARATION_TAG, n.getAttributes(), n.getText());
  +	    appendTag(JSP_DECLARATION, n.getAttributes(), n.getText());
   	}
   
   	public void visit(Node.Expression n) throws JasperException {
   	    // jsp:scriptlet has no attributes, except for jsp:id
  -	    appendTag(JSP_EXPRESSION_TAG, n.getAttributes(), n.getText());
  +	    appendTag(JSP_EXPRESSION, n.getAttributes(), n.getText());
   	}
   
   	public void visit(Node.Scriptlet n) throws JasperException {
   	    // jsp:scriptlet has no attributes, except for jsp:id
  -	    appendTag(JSP_SCRIPTLET_TAG, n.getAttributes(), n.getText());
  +	    appendTag(JSP_SCRIPTLET, n.getAttributes(), n.getText());
   	}
   
   	public void visit(Node.IncludeAction n) throws JasperException {
  -	    appendTag(JSP_INCLUDE_TAG, n.getAttributes(), n.getBody());
  +	    appendTag(JSP_INCLUDE, n.getAttributes(), n.getBody());
   	}
       
   	public void visit(Node.ForwardAction n) throws JasperException {
  -	    appendTag(JSP_FORWARD_TAG, n.getAttributes(), n.getBody());
  +	    appendTag(JSP_FORWARD, n.getAttributes(), n.getBody());
   	}
   
   	public void visit(Node.GetProperty n) throws JasperException {
  -	    appendTag(JSP_GET_PROPERTY_TAG, n.getAttributes(), n.getBody());
  +	    appendTag(JSP_GET_PROPERTY, n.getAttributes(), n.getBody());
   	}
   
   	public void visit(Node.SetProperty n) throws JasperException {
  -	    appendTag(JSP_SET_PROPERTY_TAG, n.getAttributes(), n.getBody());
  +	    appendTag(JSP_SET_PROPERTY, n.getAttributes(), n.getBody());
   	}
   
   	public void visit(Node.ParamAction n) throws JasperException {
  -	    appendTag(JSP_PARAM_TAG, n.getAttributes(), n.getBody());
  +	    appendTag(JSP_PARAM, n.getAttributes(), n.getBody());
   	}
   
   	public void visit(Node.ParamsAction n) throws JasperException {
  -	    appendTag(JSP_PARAMS_TAG, n.getAttributes(), n.getBody());
  +	    appendTag(JSP_PARAMS, n.getAttributes(), n.getBody());
   	}
   
   	public void visit(Node.FallBackAction n) throws JasperException {
  -	    appendTag(JSP_FALLBACK_TAG, n.getAttributes(), n.getBody());
  +	    appendTag(JSP_FALLBACK, n.getAttributes(), n.getBody());
   	}
   
   	public void visit(Node.UseBean n) throws JasperException {
  -	    appendTag(JSP_USE_BEAN_TAG, n.getAttributes(), n.getBody());
  +	    appendTag(JSP_USE_BEAN, n.getAttributes(), n.getBody());
   	}
   	
   	public void visit(Node.PlugIn n) throws JasperException {
  -	    appendTag(JSP_PLUGIN_TAG, n.getAttributes(), n.getBody());
  +	    appendTag(JSP_PLUGIN, n.getAttributes(), n.getBody());
   	}
   
           public void visit(Node.NamedAttribute n) throws JasperException {
  -            appendTag(JSP_ATTRIBUTE_TAG, n.getAttributes(), n.getBody());
  +            appendTag(JSP_ATTRIBUTE, n.getAttributes(), n.getBody());
           }
           
           public void visit(Node.JspBody n) throws JasperException {
  -            appendTag(JSP_BODY_TAG, n.getAttributes(), n.getBody());
  +            appendTag(JSP_BODY, n.getAttributes(), n.getBody());
           }
   
   	public void visit(Node.CustomTag n) throws JasperException {
  @@ -343,7 +343,7 @@
   
   	public void visit(Node.JspText n) throws JasperException {
   	    // jsp:text has no attributes, except for jsp:id
  -	    appendTag(JSP_TEXT_TAG, n.getAttributes(), n.getBody());
  +	    appendTag(JSP_TEXT, n.getAttributes(), n.getBody());
   	}
           
   	public void visit(Node.TemplateText n) throws JasperException {
  @@ -409,7 +409,7 @@
   	 */
   	private void appendPageDirective(Node.PageDirective pageDir) {
   	    Attributes attrs = pageDir.getAttributes();
  -	    buf.append("<").append(JSP_PAGE_DIRECTIVE_TAG);
  +	    buf.append("<").append(JSP_PAGE_DIRECTIVE);
   	    buf.append("\n");
   
   	    // append jsp:id
  @@ -448,9 +448,9 @@
   
   	private void appendText(char[] text, boolean createJspTextElement) {
   	    if (createJspTextElement) {
  -		buf.append(JSP_TEXT_TAG_START);
  +		buf.append(JSP_TEXT_START);
   		appendCDATA(text);
  -		buf.append(JSP_TEXT_TAG_END);
  +		buf.append(JSP_TEXT_END);
   	    } else {
   		appendCDATA(text);
   	    }
  
  
  
  1.3       +46 -29    jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagConstants.java
  
  Index: TagConstants.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagConstants.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TagConstants.java	16 Jul 2002 19:30:51 -0000	1.2
  +++ TagConstants.java	22 Jul 2002 23:02:55 -0000	1.3
  @@ -61,32 +61,49 @@
   package org.apache.jasper.compiler;
   
   public interface TagConstants {
  -    public static final String JSP_ROOT_TAG = "jsp:root";
  -    public static final String JSP_ROOT_TAG_END = "</jsp:root>";
  -    public static final String JSP_PAGE_DIRECTIVE_TAG = "jsp:directive.page";
  -    public static final String JSP_INCLUDE_DIRECTIVE_TAG
  +    public static final String JSP_ROOT = "jsp:root";
  +    public static final String JSP_ROOT_END = "</jsp:root>";
  +    public static final String JSP_PAGE_DIRECTIVE = "jsp:directive.page";
  +    public static final String JSP_INCLUDE_DIRECTIVE
   	= "jsp:directive.include";
  -    public static final String JSP_DECLARATION_TAG = "jsp:declaration";
  -    public static final String JSP_DECLARATION_TAG_START = "<jsp:declaration>";
  -    public static final String JSP_DECLARATION_TAG_END = "</jsp:declaration>";
  -    public static final String JSP_SCRIPTLET_TAG = "jsp:scriptlet";
  -    public static final String JSP_SCRIPTLET_TAG_START = "<jsp:scriptlet>";
  -    public static final String JSP_SCRIPTLET_TAG_END = "</jsp:scriptlet>";
  -    public static final String JSP_EXPRESSION_TAG = "jsp:expression";
  -    public static final String JSP_EXPRESSION_TAG_START = "<jsp:expression>";
  -    public static final String JSP_EXPRESSION_TAG_END = "</jsp:expression>";
  -    public static final String JSP_USE_BEAN_TAG = "jsp:useBean";
  -    public static final String JSP_SET_PROPERTY_TAG = "jsp:setProperty";
  -    public static final String JSP_GET_PROPERTY_TAG = "jsp:getProperty";
  -    public static final String JSP_INCLUDE_TAG = "jsp:include";
  -    public static final String JSP_FORWARD_TAG = "jsp:forward";
  -    public static final String JSP_PARAM_TAG = "jsp:param";
  -    public static final String JSP_PARAMS_TAG = "jsp:params";
  -    public static final String JSP_PLUGIN_TAG = "jsp:plugin";
  -    public static final String JSP_FALLBACK_TAG = "jsp:fallback";
  -    public static final String JSP_TEXT_TAG = "jsp:text";
  -    public static final String JSP_TEXT_TAG_START = "<jsp:text>";
  -    public static final String JSP_TEXT_TAG_END = "</jsp:text>";
  -    public static final String JSP_ATTRIBUTE_TAG = "jsp:attribute";
  -    public static final String JSP_BODY_TAG = "jsp:body";
  +    public static final String JSP_DECLARATION = "jsp:declaration";
  +    public static final String JSP_DECLARATION_START = "<jsp:declaration>";
  +    public static final String JSP_DECLARATION_END = "</jsp:declaration>";
  +    public static final String JSP_SCRIPTLET = "jsp:scriptlet";
  +    public static final String JSP_SCRIPTLET_START = "<jsp:scriptlet>";
  +    public static final String JSP_SCRIPTLET_END = "</jsp:scriptlet>";
  +    public static final String JSP_EXPRESSION = "jsp:expression";
  +    public static final String JSP_EXPRESSION_START = "<jsp:expression>";
  +    public static final String JSP_EXPRESSION_END = "</jsp:expression>";
  +    public static final String JSP_USE_BEAN = "jsp:useBean";
  +    public static final String JSP_SET_PROPERTY = "jsp:setProperty";
  +    public static final String JSP_GET_PROPERTY = "jsp:getProperty";
  +    public static final String JSP_INCLUDE = "jsp:include";
  +    public static final String JSP_FORWARD = "jsp:forward";
  +    public static final String JSP_PARAM = "jsp:param";
  +    public static final String JSP_PARAMS = "jsp:params";
  +    public static final String JSP_PLUGIN = "jsp:plugin";
  +    public static final String JSP_FALLBACK = "jsp:fallback";
  +    public static final String JSP_TEXT = "jsp:text";
  +    public static final String JSP_TEXT_START = "<jsp:text>";
  +    public static final String JSP_TEXT_END = "</jsp:text>";
  +    public static final String JSP_ATTRIBUTE = "jsp:attribute";
  +    public static final String JSP_BODY = "jsp:body";
  +
  +    /*
  +     * Tag Files
  +     */
  +    public static final String JSP_INVOKE = "jsp:invoke";
  +    public static final String JSP_DO_BODY = "jsp:doBody";
  +
  +    /*
  +     * Tag File Directives
  +     */
  +    public static final String JSP_TAG_DIRECTIVE = "jsp:directive.tag";
  +    public static final String JSP_ATTRIBUTE_DIRECTIVE
  +	= "jsp:directive.attribute";
  +    public static final String JSP_VARIABLE_DIRECTIVE
  +	= "jsp:directive.variable";
  +    public static final String JSP_FRAGMENT_INPUT_DIRECTIVE
  +	= "jsp:directive.fragment-input";
   }
  
  
  
  1.4       +4 -5      jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java
  
  Index: TagLibraryInfoImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TagLibraryInfoImpl.java	16 Jul 2002 19:30:51 -0000	1.3
  +++ TagLibraryInfoImpl.java	22 Jul 2002 23:02:55 -0000	1.4
  @@ -162,8 +162,7 @@
   	    if (uriType == TldLocationsCache.ABS_URI) {
   		err.jspError("jsp.error.taglibDirective.absUriCannotBeResolved",
   			     uri);
  -	    } else if (uriType == 
  -		       TldLocationsCache.NOROOT_REL_URI) {
  +	    } else if (uriType == TldLocationsCache.NOROOT_REL_URI) {
   		uri = ctxt.resolveRelativeUri(uri);
   	    }
   	    location = new String[2];
  @@ -690,7 +689,7 @@
       }
   
       /**
  -     * Translation-time validation of the XML docu-ment
  +     * Translation-time validation of the XML document
        * associated with the JSP page.
        * This is a convenience method on the associated 
        * TagLibraryValidator class.
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>