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/11/07 23:19:13 UTC

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources messages.properties messages_es.properties messages_fr.properties messages_ja.properties

luehe       2002/11/07 14:19:13

  Modified:    jasper2/src/share/org/apache/jasper/compiler PageInfo.java
                        ParserController.java Validator.java
               jasper2/src/share/org/apache/jasper/resources
                        messages.properties messages_es.properties
                        messages_fr.properties messages_ja.properties
  Log:
  Report translation-time error if different page character encodings
  are detected in two or more of the following: the XML prolog of a JSP
  page, the pageEncoding attribute of the page directive of the JSP
  page, and in a JSP configuration element (whose URL pattern matches
  the page).
  
  Revision  Changes    Path
  1.15      +8 -19     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.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- PageInfo.java	6 Nov 2002 20:14:19 -0000	1.14
  +++ PageInfo.java	7 Nov 2002 22:19:13 -0000	1.15
  @@ -94,10 +94,7 @@
        * (declaration).
        * Only meaningful for XML documents.
        */
  -    private String xmlEncoding = null;
  -
  -    // Indicates whether page has XML declaration with encoding attribute
  -    private boolean hasEncodingProlog = false;
  +    private String xmlPrologEncoding = null;
   
       private int maxTagNesting = 0;
       private boolean scriptless = false;
  @@ -235,22 +232,14 @@
   	return pageEncoding;
       }
   
  -    public void setXmlEncoding(String xmlEncoding) {
  -	this.xmlEncoding = xmlEncoding;
  +    public void setXmlPrologEncoding(String xmlPrologEncoding) {
  +	this.xmlPrologEncoding = xmlPrologEncoding;
       }
   
  -    public String getXmlEncoding() {
  -	return xmlEncoding;
  +    public String getXmlPrologEncoding() {
  +	return xmlPrologEncoding;
       }
       
  -    public void setHasEncodingProlog(boolean hasEncodingProlog) {
  -	this.hasEncodingProlog = hasEncodingProlog;
  -    }
  -
  -    public boolean hasEncodingProlog() {
  -	return hasEncodingProlog;
  -    }
  -
       public int getMaxTagNesting() {
           return maxTagNesting;
       }
  
  
  
  1.26      +10 -6     jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ParserController.java
  
  Index: ParserController.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ParserController.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- ParserController.java	7 Nov 2002 00:50:52 -0000	1.25
  +++ ParserController.java	7 Nov 2002 22:19:13 -0000	1.26
  @@ -192,9 +192,6 @@
   
   	    if (isTopFile) {
   		pageInfo.setIsXml(isXml);
  -		if (isXml) {
  -		    pageInfo.setXmlEncoding(encoding);
  -		}
   		isTopFile = false;
   	    } else {
   		compiler.getPageInfo().addDependant(absFileName);
  @@ -274,12 +271,19 @@
   							   ctxt, err);
   	    sourceEnc = (String) ret[0];
   	    boolean isEncodingSetInProlog = ((Boolean) ret[1]).booleanValue();
  -	    if (isTopFile) {
  -		pageInfo.setHasEncodingProlog(isEncodingSetInProlog);
  -	    }
   	    if (isEncodingSetInProlog) {
   		// Prolog present only in XML syntax
   		isXml = true;
  +		if (isTopFile) {
  +		    String jspConfigPageEnc = pageInfo.getPageEncoding();
  +		    if (jspConfigPageEnc != null
  +			    && !jspConfigPageEnc.equals(sourceEnc)) {
  +			err.jspError(
  +			    "jsp.error.page.prolog_config_encoding_conflict",
  +			    sourceEnc, jspConfigPageEnc);
  +		    }
  +		    pageInfo.setXmlPrologEncoding(sourceEnc);
  +		}
   	    } else if (sourceEnc.equals("UTF-8")) {
   		/*
   		 * We don't know if we're dealing with an XML document
  
  
  
  1.52      +29 -12    jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java
  
  Index: Validator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java,v
  retrieving revision 1.51
  retrieving revision 1.52
  diff -u -r1.51 -r1.52
  --- Validator.java	7 Nov 2002 18:34:19 -0000	1.51
  +++ Validator.java	7 Nov 2002 22:19:13 -0000	1.52
  @@ -255,17 +255,34 @@
   		    if (pageEncodingSeen) 
   			err.jspError(n, "jsp.error.page.multiple.pageencoding");
   		    pageEncodingSeen = true;
  -		    // Make sure the page-encoding specified in a 
  -		    // jsp-property-group (if present) matches that of the page
  -		    // directive
  +		    /*
  +		     * It is a translation-time error to name different page
  +		     * character encodings in two or more of the following:
  +		     * the XML prolog of a JSP page, the pageEncoding
  +		     * attribute of the page directive of the JSP page, and in
  +		     * a JSP configuration element (whose URL pattern matches
  +		     * the page).
  +		     * At this point, we've already verified (in 
  +		     * ParserController.figureOutJspDocument()) that the page
  +		     * character encodings specified in a JSP config element
  +		     * and XML prolog match.
  +		     */
  +		    String compareEnc = null;
   		    if (jspProperty != null) {
  -			String jspConfigPageEnc = jspProperty.getPageEncoding();
  -			if (jspConfigPageEnc != null
  -			            && !jspConfigPageEnc.equals(value)) {
  -			    err.jspError(n,
  -					 "jsp.error.page.pageencoding.conflict",
  -					 jspConfigPageEnc, value);
  +			compareEnc = jspProperty.getPageEncoding();
  +			if (compareEnc != null && !compareEnc.equals(value)) {
  +			    err.jspError(
  +                                n, "jsp.error.page.config_pagedir_encoding_conflict",
  +				compareEnc, value);
   			}
  +		    }
  +		    if (compareEnc == null) {
  +			compareEnc = pageInfo.getXmlPrologEncoding();
  +			if (compareEnc != null && !compareEnc.equals(value)) {
  +			    err.jspError(
  +			        n, "jsp.error.page.prolog_pagedir_encoding_conflict",
  +				compareEnc, value);
  +			}			
   		    }
   		    pageInfo.setPageEncoding(value);
   		}
  
  
  
  1.56      +4 -2      jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties
  
  Index: messages.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties,v
  retrieving revision 1.55
  retrieving revision 1.56
  diff -u -r1.55 -r1.56
  --- messages.properties	6 Nov 2002 20:14:20 -0000	1.55
  +++ messages.properties	7 Nov 2002 22:19:13 -0000	1.56
  @@ -299,7 +299,9 @@
   jsp.error.not.in.template={0} not allowed in a template text body.
   jsp.error.badaction=The action is not a recognizable standard action.
   jsp.error.tagdirective.badbodycontent=Invalid body-content ({0}) in tag directive
  -jsp.error.page.pageencoding.conflict=Page-encoding specified in jsp-property-group ({0}) is different from that specified in page directive ({1})
  +jsp.error.page.config_pagedir_encoding_conflict=Page-encoding specified in jsp-property-group ({0}) is different from that specified in page directive ({1})
  +jsp.error.page.prolog_pagedir_encoding_conflict=Page-encoding specified in XML prolog ({0}) is different from that specified in page directive ({1})
  +jsp.error.page.prolog_config_encoding_conflict=Page-encoding specified in XML prolog ({0}) is different from that specified in jsp-property-group ({1})
   jsp.error.attribute.non_rt_with_expr=According to TLD, attribute {0} does not accept any expressions
   jsp.error.scripting.variable.missing_name=Unable to determine scripting variable name from attribute {0}
   jasper.error.emptybodycontent.nonempty=According to TLD, tag {0} must be empty, but is not
  
  
  
  1.22      +4 -2      jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_es.properties
  
  Index: messages_es.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_es.properties,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- messages_es.properties	6 Nov 2002 20:14:20 -0000	1.21
  +++ messages_es.properties	7 Nov 2002 22:19:13 -0000	1.22
  @@ -217,7 +217,9 @@
   jsp.warning.bad.urlpattern.propertygroup=
   jsp.error.jspelement.missing.name=
   jsp.error.tagdirective.badbodycontent=
  -jsp.error.page.pageencoding.conflict=
  +jsp.error.page.config_pagedir_encoding_conflict=
  +jsp.error.page.prolog_pagedir_encoding_conflict=
  +jsp.error.page.prolog_config_encoding_conflict=
   jsp.error.attribute.non_rt_with_expr=
   jsp.error.scripting.variable.missing_name=
   jasper.error.emptybodycontent.nonempty=
  
  
  
  1.2       +4 -2      jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_fr.properties
  
  Index: messages_fr.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_fr.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- messages_fr.properties	6 Nov 2002 11:38:49 -0000	1.1
  +++ messages_fr.properties	7 Nov 2002 22:19:13 -0000	1.2
  @@ -297,7 +297,9 @@
   jsp.error.not.in.template={0} n''est pas autoris� dans le corps de texte de template.
   jsp.error.badaction=L''action n''est pas reconnue comme une action standard.
   jsp.error.tagdirective.badbodycontent=Contenu de corps (body-content) ({0}) invalide dans la directive tag
  -jsp.error.page.pageencoding.conflict=L''encode de page (Page-encoding) indiqu� dans le jsp-property-group ({0}) est diff�rent de celui indiqu� dans la directive de page ({1})
  +jsp.error.page.config_pagedir_encoding_conflict=L''encode de page (Page-encoding) indiqu� dans le jsp-property-group ({0}) est diff�rent de celui indiqu� dans la directive de page ({1})
  +jsp.error.page.prolog_pagedir_encoding_conflict=
  +jsp.error.page.prolog_config_encoding_conflict=
   jsp.error.attribute.non_rt_with_expr=D''apr�s la TLD, l''attribut {0} n''accepte aucune expression
   jsp.error.scripting.variable.missing_name=Incapable de d�terminer le nom de variable scripting d''apr�s l''attribut {0}
   jasper.error.emptybodycontent.nonempty=D''apr�s la TLD, le tag {0} doit �tre vide, mais ne l''est pas
  
  
  
  1.22      +4 -2      jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_ja.properties
  
  Index: messages_ja.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_ja.properties,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- messages_ja.properties	6 Nov 2002 20:14:20 -0000	1.21
  +++ messages_ja.properties	7 Nov 2002 22:19:13 -0000	1.22
  @@ -248,7 +248,9 @@
   jsp.warning.bad.urlpattern.propertygroup=
   jsp.error.jspelement.missing.name=
   jsp.error.tagdirective.badbodycontent=
  -jsp.error.page.pageencoding.conflict=
  +jsp.error.page.config_pagedir_encoding_conflict=
  +jsp.error.page.prolog_pagedir_encoding_conflict=
  +jsp.error.page.prolog_config_encoding_conflict=
   jsp.error.attribute.non_rt_with_expr=
   jsp.error.scripting.variable.missing_name=
   jasper.error.emptybodycontent.nonempty=
  
  
  

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