luehe 2003/07/23 13:37:24 Modified: jasper2/src/share/org/apache/jasper/compiler PageInfo.java Validator.java Log: Ignore default settings for "extends" and "language" when checking for multiple page directive attributes with conflicting values Revision Changes Path 1.33 +17 -7 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.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- PageInfo.java 23 Jul 2003 19:23:46 -0000 1.32 +++ PageInfo.java 23 Jul 2003 20:37:24 -0000 1.33 @@ -81,8 +81,10 @@ private HashMap taglibsMap; private HashMap jspPrefixMapper; private HashMap xmlPrefixMapper; - private String language = "java"; - private String xtends = Constants.JSP_SERVLET_BASE; + private String defaultLanguage = "java"; + private String language; + private String defaultExtends = Constants.JSP_SERVLET_BASE; + private String xtends; private String contentType = null; private String session; private boolean isSession = true; @@ -419,8 +421,12 @@ language = value; } + public String getLanguage(boolean useDefault) { + return (language == null && useDefault ? defaultLanguage : language); + } + public String getLanguage() { - return language; + return getLanguage(true); } @@ -440,8 +446,12 @@ n.addImport(value); } + public String getExtends(boolean useDefault) { + return (xtends == null && useDefault ? defaultExtends : xtends); + } + public String getExtends() { - return xtends; + return getExtends(true); } 1.111 +12 -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.110 retrieving revision 1.111 diff -u -r1.110 -r1.111 --- Validator.java 21 Jul 2003 21:52:51 -0000 1.110 +++ Validator.java 23 Jul 2003 20:37:24 -0000 1.111 @@ -146,18 +146,18 @@ String value = attrs.getValue(i); if ("language".equals(attr)) { - if (pageInfo.getLanguage() == null) { + if (pageInfo.getLanguage(false) == null) { pageInfo.setLanguage(value, n, err, true); - } else if (!pageInfo.getLanguage().equals(value)) { + } else if (!pageInfo.getLanguage(false).equals(value)) { err.jspError(n, "jsp.error.page.conflict.language", - pageInfo.getLanguage(), value); + pageInfo.getLanguage(false), value); } } else if ("extends".equals(attr)) { - if (pageInfo.getExtends() == null) { + if (pageInfo.getExtends(false) == null) { pageInfo.setExtends(value, n); - } else if (!pageInfo.getExtends().equals(value)) { + } else if (!pageInfo.getExtends(false).equals(value)) { err.jspError(n, "jsp.error.page.conflict.extends", - pageInfo.getExtends(), value); + pageInfo.getExtends(false), value); } } else if ("contentType".equals(attr)) { if (pageInfo.getContentType() == null) { @@ -260,11 +260,11 @@ String value = attrs.getValue(i); if ("language".equals(attr)) { - if (pageInfo.getLanguage() == null) { + if (pageInfo.getLanguage(false) == null) { pageInfo.setLanguage(value, n, err, false); - } else if (!pageInfo.getLanguage().equals(value)) { + } else if (!pageInfo.getLanguage(false).equals(value)) { err.jspError(n, "jsp.error.tag.conflict.language", - pageInfo.getLanguage(), value); + pageInfo.getLanguage(false), value); } } else if ("isELIgnored".equals(attr)) { if (pageInfo.getIsELIgnored() == null) {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]