diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/resolver/ApacheCatalog.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/resolver/ApacheCatalog.java | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/resolver/ApacheCatalog.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/resolver/ApacheCatalog.java deleted file mode 100644 index cbf3f3fe..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/resolver/ApacheCatalog.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.apache.tools.ant.types.resolver; - -import org.apache.xml.resolver.Catalog; -import org.apache.xml.resolver.CatalogEntry; -import org.apache.xml.resolver.helpers.PublicId; - - -/** - * This class extends the Catalog class provided by Norman Walsh's - * resolver library in xml-commons in order to add classpath entity - * and URI resolution. Since XMLCatalog already does classpath - * resolution, we simply add all CatalogEntry instances back to the - * controlling XMLCatalog instance. This is done via a callback - * mechanism. ApacheCatalog is <em>only</em> used for external - * catalog files. Inline entries (currently <code><dtd></code> - * and <code><entity></code>) are not added to ApacheCatalog. - * See XMLCatalog.java for the details of the entity and URI - * resolution algorithms. - * - * @see org.apache.tools.ant.types.XMLCatalog.CatalogResolver - * @since Ant 1.6 - */ -public class ApacheCatalog extends Catalog { - - /** The resolver object to callback. */ - private ApacheCatalogResolver resolver = null; - - /** - * <p>Create a new ApacheCatalog instance.</p> - * - * <p>This method overrides the superclass method of the same name - * in order to set the resolver object for callbacks. The reason - * we have to do this is that internally Catalog creates a new - * instance of itself for each external catalog file processed. - * That is, if two external catalog files are processed, there - * will be a total of two ApacheCatalog instances, and so on.</p> - * @return the catalog. - */ - protected Catalog newCatalog() { - final ApacheCatalog cat = (ApacheCatalog) super.newCatalog(); - cat.setResolver(resolver); - return cat; - } - - /** - * Set the resolver object to callback. - * @param resolver the apache catalog resolver. - */ - public void setResolver(final ApacheCatalogResolver resolver) { - this.resolver = resolver; - } - - /** - * <p>This method overrides the superclass method of the same name - * in order to add catalog entries back to the controlling - * XMLCatalog instance. In this way, we can add classpath lookup - * for these entries.</p> - * - * <p>When we add an external catalog file, the entries inside it - * get parsed by this method. Therefore, we override it to add - * each of them back to the controlling XMLCatalog instance. This - * is done by performing a callback to the ApacheCatalogResolver, - * which in turn calls the XMLCatalog.</p> - * - * <p>XMLCatalog currently only understands <code>PUBLIC</code> - * and <code>URI</code> entry types, so we ignore the other types.</p> - * - * @param entry The CatalogEntry to process. - */ - public void addEntry(final CatalogEntry entry) { - - final int type = entry.getEntryType(); - - if (type == PUBLIC) { - - final String publicid = PublicId.normalize(entry.getEntryArg(0)); - final String systemid = normalizeURI(entry.getEntryArg(1)); - - if (resolver == null) { - catalogManager.debug - .message(1, "Internal Error: null ApacheCatalogResolver"); - } else { - resolver.addPublicEntry(publicid, systemid, base); - } - - } else if (type == URI) { - - final String uri = normalizeURI(entry.getEntryArg(0)); - final String altURI = normalizeURI(entry.getEntryArg(1)); - - if (resolver == null) { - catalogManager.debug - .message(1, "Internal Error: null ApacheCatalogResolver"); - } else { - resolver.addURIEntry(uri, altURI, base); - } - - } - - super.addEntry(entry); - } - -} //- ApacheCatalog |