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 2003/07/23 21:23:47 UTC

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler Parser.java PageInfo.java

luehe       2003/07/23 12:23:46

  Modified:    jasper2/src/share/org/apache/jasper/compiler Parser.java
                        PageInfo.java
  Log:
  Preparation work for new 'static include' rules
  
  Revision  Changes    Path
  1.77      +5 -5      jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java
  
  Index: Parser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java,v
  retrieving revision 1.76
  retrieving revision 1.77
  diff -u -r1.76 -r1.77
  --- Parser.java	21 Jul 2003 20:44:20 -0000	1.76
  +++ Parser.java	23 Jul 2003 19:23:46 -0000	1.77
  @@ -459,7 +459,7 @@
   							      location,
   							      err));
   		}
  -		pageInfo.addPrefixToURIMapping(prefix, uri);
  +		pageInfo.addPrefixMapping(prefix, uri);
   	    } else {
   		String tagdir = attrs.getValue("tagdir");
   		if (tagdir != null) {
  @@ -473,7 +473,7 @@
   						   tagdir,
   						   err));
   		    }
  -		    pageInfo.addPrefixToURIMapping(prefix, urnTagdir);
  +		    pageInfo.addPrefixMapping(prefix, urnTagdir);
   		}
   	    }
   	}
  
  
  
  1.32      +51 -11    jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/PageInfo.java
  
  Index: PageInfo.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/PageInfo.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- PageInfo.java	21 Jul 2003 21:52:51 -0000	1.31
  +++ PageInfo.java	23 Jul 2003 19:23:46 -0000	1.32
  @@ -79,8 +79,8 @@
   
       private BeanRepository beanRepository;
       private HashMap taglibsMap;
  -    private Hashtable prefixMapper;
  -
  +    private HashMap jspPrefixMapper;
  +    private HashMap xmlPrefixMapper;
       private String language = "java";
       private String xtends = Constants.JSP_SERVLET_BASE;
       private String contentType = null;
  @@ -128,7 +128,8 @@
       PageInfo(BeanRepository beanRepository) {
   	this.beanRepository = beanRepository;
   	this.taglibsMap = new HashMap();
  -	this.prefixMapper = new Hashtable();
  +	this.jspPrefixMapper = new HashMap();
  +	this.xmlPrefixMapper = new HashMap();
   	this.imports = new Vector();
           this.dependants = new Vector();
   	this.includePrelude = new Vector();
  @@ -344,19 +345,58 @@
        * @param prefix The prefix to map
        * @param uri The URI to be associated with the given prefix
        */
  -    public void addPrefixToURIMapping(String prefix, String uri) {
  -	prefixMapper.put(prefix, uri);
  +    public void addPrefixMapping(String prefix, String uri) {
  +	jspPrefixMapper.put(prefix, uri);
       }
   
       /*
  -     * Maps the given prefix to its URI.
  +     * Pushes the given URI onto the stack of URIs to which the given prefix
  +     * is mapped.
        *
  -     * @param prefix The prefix to map
  +     * @param prefix The prefix whose stack of URIs is to be pushed
  +     * @param uri The URI to be pushed onto the stack
  +     */
  +    public void pushPrefixMapping(String prefix, String uri) {
  +	LinkedList stack = (LinkedList) xmlPrefixMapper.get(prefix);
  +	if (stack == null) {
  +	    stack = new LinkedList();
  +	}
  +	stack.addFirst(uri);
  +    }
  +
  +    /*
  +     * Removes the URI at the top of the stack of URIs to which the given 
  +     * prefix is mapped. 
  +     *
  +     * @param prefix The prefix whose stack of URIs is to be popped
  +     */
  +    public void popPrefixMapping(String prefix) {
  +	LinkedList stack = (LinkedList) xmlPrefixMapper.get(prefix);
  +	if (stack == null || stack.size() == 0) {
  +	    // XXX throw new Exception("XXX");
  +	}
  +	stack.removeFirst();
  +    }
  +
  +    /*
  +     * Returns the URI to which the given prefix maps.
  +     *
  +     * @param prefix The prefix whose URI is sought
        *
        * @return The URI to which the given prefix maps
        */
       public String getURI(String prefix) {
  -	return (String) prefixMapper.get(prefix);
  +
  +	String uri = null;
  +
  +	LinkedList stack = (LinkedList) xmlPrefixMapper.get(prefix);
  +	if (stack == null || stack.size() == 0) {
  +	    uri = (String) jspPrefixMapper.get(prefix);
  +	} else {
  +	    uri = (String) stack.getFirst();
  +	}
  +
  +	return uri;
       }
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org