aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionUtil.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionUtil.java215
1 files changed, 0 insertions, 215 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionUtil.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionUtil.java
deleted file mode 100644
index 089c7894..00000000
--- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionUtil.java
+++ /dev/null
@@ -1,215 +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.taskdefs.optional.extension;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.DirectoryScanner;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.types.FileSet;
-
-/**
- * A set of useful methods relating to extensions.
- *
- */
-public final class ExtensionUtil {
- /**
- * Class is not meant to be instantiated.
- */
- private ExtensionUtil() {
- //all methods static
- }
-
- /**
- * Convert a list of extensionAdapter objects to extensions.
- *
- * @param adapters the list of ExtensionAdapterss to add to convert
- * @throws BuildException if an error occurs
- */
- static ArrayList toExtensions(final List adapters)
- throws BuildException {
- final ArrayList results = new ArrayList();
-
- final int size = adapters.size();
- for (int i = 0; i < size; i++) {
- final ExtensionAdapter adapter =
- (ExtensionAdapter) adapters.get(i);
- final Extension extension = adapter.toExtension();
- results.add(extension);
- }
-
- return results;
- }
-
- /**
- * Generate a list of extensions from a specified fileset.
- *
- * @param libraries the list to add extensions to
- * @param fileset the filesets containing librarys
- * @throws BuildException if an error occurs
- */
- static void extractExtensions(final Project project,
- final List libraries,
- final List fileset)
- throws BuildException {
- if (!fileset.isEmpty()) {
- final Extension[] extensions = getExtensions(project,
- fileset);
- for (int i = 0; i < extensions.length; i++) {
- libraries.add(extensions[ i ]);
- }
- }
- }
-
- /**
- * Retrieve extensions from the specified libraries.
- *
- * @param libraries the filesets for libraries
- * @return the extensions contained in libraries
- * @throws BuildException if failing to scan libraries
- */
- private static Extension[] getExtensions(final Project project,
- final List libraries)
- throws BuildException {
- final ArrayList extensions = new ArrayList();
- final Iterator iterator = libraries.iterator();
- while (iterator.hasNext()) {
- final FileSet fileSet = (FileSet) iterator.next();
-
- boolean includeImpl = true;
- boolean includeURL = true;
-
- if (fileSet instanceof LibFileSet) {
- LibFileSet libFileSet = (LibFileSet) fileSet;
- includeImpl = libFileSet.isIncludeImpl();
- includeURL = libFileSet.isIncludeURL();
- }
-
- final DirectoryScanner scanner = fileSet.getDirectoryScanner(project);
- final File basedir = scanner.getBasedir();
- final String[] files = scanner.getIncludedFiles();
- for (int i = 0; i < files.length; i++) {
- final File file = new File(basedir, files[ i ]);
- loadExtensions(file, extensions, includeImpl, includeURL);
- }
- }
- return (Extension[]) extensions.toArray(new Extension[extensions.size()]);
- }
-
- /**
- * Load list of available extensions from specified file.
- *
- * @param file the file
- * @param extensionList the list to add available extensions to
- * @throws BuildException if there is an error
- */
- private static void loadExtensions(final File file,
- final List extensionList,
- final boolean includeImpl,
- final boolean includeURL)
- throws BuildException {
- try {
- final JarFile jarFile = new JarFile(file);
- final Extension[] extensions =
- Extension.getAvailable(jarFile.getManifest());
- for (int i = 0; i < extensions.length; i++) {
- final Extension extension = extensions[ i ];
- addExtension(extensionList, extension, includeImpl, includeURL);
- }
- } catch (final Exception e) {
- throw new BuildException(e.getMessage(), e);
- }
- }
-
- /**
- * Add extension to list.
- * If extension should not have implementation details but
- * does strip them. If extension should not have url but does
- * then strip it.
- *
- * @param extensionList the list of extensions to add to
- * @param originalExtension the extension
- * @param includeImpl false to exclude implementation details
- * @param includeURL false to exclude implementation URL
- */
- private static void addExtension(final List extensionList,
- final Extension originalExtension,
- final boolean includeImpl,
- final boolean includeURL) {
- Extension extension = originalExtension;
- if (!includeURL
- && null != extension.getImplementationURL()) {
- extension =
- new Extension(extension.getExtensionName(),
- extension.getSpecificationVersion().toString(),
- extension.getSpecificationVendor(),
- extension.getImplementationVersion().toString(),
- extension.getImplementationVendor(),
- extension.getImplementationVendorID(),
- null);
- }
-
- final boolean hasImplAttributes =
- null != extension.getImplementationURL()
- || null != extension.getImplementationVersion()
- || null != extension.getImplementationVendorID()
- || null != extension.getImplementationVendor();
-
- if (!includeImpl && hasImplAttributes) {
- extension =
- new Extension(extension.getExtensionName(),
- extension.getSpecificationVersion().toString(),
- extension.getSpecificationVendor(),
- null,
- null,
- null,
- extension.getImplementationURL());
- }
-
- extensionList.add(extension);
- }
-
- /**
- * Retrieve manifest for specified file.
- *
- * @param file the file
- * @return the manifest
- * @throws BuildException if errror occurs (file doesn't exist,
- * file not a jar, manifest doesn't exist in file)
- */
- static Manifest getManifest(final File file)
- throws BuildException {
- try {
- final JarFile jarFile = new JarFile(file);
- Manifest m = jarFile.getManifest();
- if (m == null) {
- throw new BuildException(file + " doesn't have a MANIFEST");
- }
- return m;
- } catch (final IOException ioe) {
- throw new BuildException(ioe.getMessage(), ioe);
- }
- }
-}