Author: markt Date: Wed Nov 13 14:53:49 2013 New Revision: 1541539 URL: http://svn.apache.org/r1541539 Log: Remove TldLocation
Removed: tomcat/trunk/java/org/apache/jasper/compiler/TldLocation.java Modified: tomcat/trunk/java/org/apache/jasper/JspCompilationContext.java tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java tomcat/trunk/java/org/apache/jasper/compiler/Parser.java tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java tomcat/trunk/java/org/apache/jasper/compiler/TldCache.java tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldResourcePath.java Modified: tomcat/trunk/java/org/apache/jasper/JspCompilationContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/JspCompilationContext.java?rev=1541539&r1=1541538&r2=1541539&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/JspCompilationContext.java (original) +++ tomcat/trunk/java/org/apache/jasper/JspCompilationContext.java Wed Nov 13 14:53:49 2013 @@ -14,7 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.jasper; import java.io.File; @@ -37,11 +36,11 @@ import org.apache.jasper.compiler.JspRun import org.apache.jasper.compiler.JspUtil; import org.apache.jasper.compiler.Localizer; import org.apache.jasper.compiler.ServletWriter; -import org.apache.jasper.compiler.TldLocation; import org.apache.jasper.servlet.JasperLoader; import org.apache.jasper.servlet.JspServletWrapper; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.descriptor.tld.TldResourcePath; import org.apache.tomcat.util.scan.Jar; /** @@ -558,10 +557,8 @@ public class JspCompilationContext { * Returns null if the given uri is not associated with any tag library * 'exposed' in the web application. */ - public TldLocation getTldLocation(String uri) { - TldLocation location = - getOptions().getTldCache().getLocation(uri); - return location; + public TldResourcePath getTldResourcePath(String uri) { + return getOptions().getTldCache().getTldResourcePath(uri); } /** Modified: tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java?rev=1541539&r1=1541538&r2=1541539&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java Wed Nov 13 14:53:49 2013 @@ -31,6 +31,7 @@ import javax.xml.parsers.SAXParserFactor import org.apache.jasper.JasperException; import org.apache.jasper.JspCompilationContext; +import org.apache.tomcat.util.descriptor.tld.TldResourcePath; import org.apache.tomcat.util.scan.Jar; import org.xml.sax.Attributes; import org.xml.sax.InputSource; @@ -1267,8 +1268,8 @@ class JspDocumentParser isPlainUri = true; } - TldLocation location = ctxt.getTldLocation(uri); - if (location != null || !isPlainUri) { + TldResourcePath tldResourcePath = ctxt.getTldResourcePath(uri); + if (tldResourcePath != null || !isPlainUri) { if (ctxt.getOptions().isCaching()) { result = ctxt.getOptions().getCache().get(uri); } @@ -1286,7 +1287,7 @@ class JspDocumentParser pageInfo, prefix, uri, - location, + tldResourcePath, err, null); if (ctxt.getOptions().isCaching()) { Modified: tomcat/trunk/java/org/apache/jasper/compiler/Parser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/Parser.java?rev=1541539&r1=1541538&r2=1541539&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/compiler/Parser.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/Parser.java Wed Nov 13 14:53:49 2013 @@ -29,6 +29,7 @@ import javax.servlet.jsp.tagext.TagLibra import org.apache.jasper.JasperException; import org.apache.jasper.JspCompilationContext; import org.apache.jasper.util.UniqueAttributesImpl; +import org.apache.tomcat.util.descriptor.tld.TldResourcePath; import org.apache.tomcat.util.scan.Jar; import org.xml.sax.Attributes; import org.xml.sax.helpers.AttributesImpl; @@ -406,9 +407,9 @@ class Parser implements TagConstants { .getCache().get(uri); } if (impl == null) { - TldLocation location = ctxt.getTldLocation(uri); + TldResourcePath tldResourcePath = ctxt.getTldResourcePath(uri); impl = new TagLibraryInfoImpl(ctxt, parserController, - pageInfo, prefix, uri, location, err, + pageInfo, prefix, uri, tldResourcePath, err, reader.mark()); if (ctxt.getOptions().isCaching()) { ctxt.getOptions().getCache().put(uri, impl); Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java?rev=1541539&r1=1541538&r2=1541539&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java Wed Nov 13 14:53:49 2013 @@ -37,6 +37,7 @@ import org.apache.jasper.JasperException import org.apache.jasper.JspCompilationContext; import org.apache.jasper.runtime.JspSourceDependent; import org.apache.jasper.servlet.JspServletWrapper; +import org.apache.tomcat.util.descriptor.tld.TldResourcePath; import org.apache.tomcat.util.scan.Jar; /** @@ -517,8 +518,12 @@ class TagFileProcessor { Jar tagJar = null; if (tagFilePath.startsWith("/META-INF/")) { - tagJar = compiler.getCompilationContext().getTldLocation( - tagInfo.getTagLibrary().getURI()).getJar(); + try { + tagJar = compiler.getCompilationContext().getTldResourcePath( + tagInfo.getTagLibrary().getURI()).getJar(); + } catch (IOException ioe) { + throw new JasperException(ioe); + } } String wrapperUri; if (tagJar == null) { @@ -622,15 +627,20 @@ class TagFileProcessor { String tagFilePath = tagFileInfo.getPath(); if (tagFilePath.startsWith("/META-INF/")) { // For tags in JARs, add the TLD and the tag as a dependency - TldLocation location = - compiler.getCompilationContext().getTldLocation( + TldResourcePath tldResourcePath = + compiler.getCompilationContext().getTldResourcePath( tagFileInfo.getTagInfo().getTagLibrary().getURI()); - Jar jar = location.getJar(); + Jar jar; + try { + jar = tldResourcePath.getJar(); + } catch (IOException ioe) { + throw new JasperException(ioe); + } if (jar != null) { try { // Add TLD - pageInfo.addDependant(jar.getURL(location.getName()), - Long.valueOf(jar.getLastModified(location.getName()))); + pageInfo.addDependant(jar.getURL(tldResourcePath.getEntryName()), + Long.valueOf(jar.getLastModified(tldResourcePath.getEntryName()))); // Add Tag pageInfo.addDependant(jar.getURL(tagFilePath.substring(1)), Long.valueOf(jar.getLastModified(tagFilePath.substring(1)))); Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java?rev=1541539&r1=1541538&r2=1541539&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java Wed Nov 13 14:53:49 2013 @@ -14,7 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.jasper.compiler; import java.io.File; @@ -53,6 +52,7 @@ import org.apache.jasper.xmlparser.Parse import org.apache.jasper.xmlparser.TreeNode; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.descriptor.tld.TldResourcePath; import org.apache.tomcat.util.scan.Jar; /** @@ -147,8 +147,8 @@ class TagLibraryInfoImpl extends TagLibr * Constructor. */ public TagLibraryInfoImpl(JspCompilationContext ctxt, ParserController pc, - PageInfo pi, String prefix, String uriIn, TldLocation location, - ErrorDispatcher err, Mark mark) + PageInfo pi, String prefix, String uriIn, + TldResourcePath tldResourcePath, ErrorDispatcher err, Mark mark) throws JasperException { super(prefix, uriIn); @@ -158,17 +158,21 @@ class TagLibraryInfoImpl extends TagLibr this.err = err; InputStream in = null; - if (location == null) { + if (tldResourcePath == null) { // The URI points to the TLD itself or to a JAR file in which the // TLD is stored - location = generateTLDLocation(uri, ctxt); + tldResourcePath = generateTldResourcePath(uri, ctxt); } - String tldName = location.getName(); - Jar jar = location.getJar(); + Jar jar; + try { + jar = tldResourcePath.getJar(); + } catch (IOException ioe) { + throw new JasperException(ioe); + } try { if (jar == null) { - // Location points directly to TLD file + String tldName = tldResourcePath.getWebappPath(); try { in = getResourceAsStream(tldName); if (in == null) { @@ -187,6 +191,7 @@ class TagLibraryInfoImpl extends TagLibr } } else { // Tag library is packaged in JAR file + String tldName = tldResourcePath.getEntryName(); String uriExternal = jar.getJarFileURL().toExternalForm(); try { in = jar.getInputStream(tldName); @@ -313,8 +318,8 @@ class TagLibraryInfoImpl extends TagLibr * * @return the location of the TLD identified by the uri */ - private TldLocation generateTLDLocation(String uri, JspCompilationContext ctxt) - throws JasperException { + private TldResourcePath generateTldResourcePath(String uri, + JspCompilationContext ctxt) throws JasperException { // TODO: this matches the current implementation but the URL logic looks fishy // map URI to location per JSP 7.3.6.2 @@ -326,24 +331,20 @@ class TagLibraryInfoImpl extends TagLibr uri = ctxt.resolveRelativeUri(uri); } + URL url = null; + try { + url = ctxt.getResource(uri); + } catch (Exception ex) { + err.jspError("jsp.error.tld.unable_to_get_jar", uri, ex + .toString()); + } if (uri.endsWith(".jar")) { - URL url = null; - try { - url = ctxt.getResource(uri); - } catch (Exception ex) { - err.jspError("jsp.error.tld.unable_to_get_jar", uri, ex - .toString()); - } if (url == null) { err.jspError("jsp.error.tld.missing_jar", uri); } - try { - return new TldLocation("META-INF/taglib.tld", url); - } catch (IOException ioe) { - throw new JasperException(ioe); - } + return new TldResourcePath(url, uri, "META-INF/taglib.tld"); } else { - return new TldLocation(uri); + return new TldResourcePath(url, uri); } } Modified: tomcat/trunk/java/org/apache/jasper/compiler/TldCache.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TldCache.java?rev=1541539&r1=1541538&r2=1541539&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/compiler/TldCache.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/TldCache.java Wed Nov 13 14:53:49 2013 @@ -16,8 +16,6 @@ */ package org.apache.jasper.compiler; -import java.io.IOException; -import java.net.URL; import java.util.HashMap; import java.util.Map; @@ -57,29 +55,7 @@ public class TldCache { } - /** - * This method is a temporary bridge between the old TLD handling code and - * the new. It will be removed shortly, hopefully in the next wave of - * refactoring. - */ - @Deprecated - public TldLocation getLocation(String uri) { - TldResourcePath tldResourcePath = uriTldResourcePathMap.get(uri); - if (tldResourcePath == null) { - return null; - } - URL url = tldResourcePath.getUrl(); - String entryName = tldResourcePath.getEntryName(); - TldLocation tldLocation; - if (entryName == null) { - tldLocation = new TldLocation(url.toExternalForm()); - } else { - try { - tldLocation = new TldLocation(entryName, url); - } catch (IOException ioe) { - throw new IllegalArgumentException(ioe); - } - } - return tldLocation; + public TldResourcePath getTldResourcePath(String uri) { + return uriTldResourcePathMap.get(uri); } } Modified: tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldResourcePath.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldResourcePath.java?rev=1541539&r1=1541538&r2=1541539&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldResourcePath.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldResourcePath.java Wed Nov 13 14:53:49 2013 @@ -21,6 +21,7 @@ import java.io.InputStream; import java.net.URL; import java.util.Objects; +import org.apache.tomcat.util.scan.Jar; import org.apache.tomcat.util.scan.JarFactory; /** @@ -126,6 +127,14 @@ public class TldResourcePath { } } + public Jar getJar() throws IOException { + if (entryName == null) { + return null; + } else { + return JarFactory.newInstance(url); + } + } + @Override public boolean equals(Object o) { if (this == o) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org