Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ClasspathUtil.java')
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ClasspathUtil.java125
1 files changed, 0 insertions, 125 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ClasspathUtil.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ClasspathUtil.java
deleted file mode 100644
index da7dcfd25..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ClasspathUtil.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.commonarchivecore.internal.util;
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-import java.util.jar.Attributes;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.RuntimeClasspathEntry;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.RuntimeClasspathEntryImpl;
-
-import com.ibm.icu.util.StringTokenizer;
-
-
-public class ClasspathUtil {
-
- public static void processManifest(String inPath, List rtClasspath, Set processedPaths) {
- ArrayList paths = getManifestPaths(inPath);
- for (int i = 0; i < paths.size(); i++) {
- RuntimeClasspathEntry entry = (RuntimeClasspathEntry) paths.get(i);
- if (!processedPaths.contains(entry)) {
- processedPaths.add(entry);
- rtClasspath.add(entry);
- processManifest(entry.getAbsolutePath(), rtClasspath, processedPaths);
- }
- }
- }
-
- protected static RuntimeClasspathEntry createRuntimeClasspathEntry(String absolutePath, String manifestValue) {
- RuntimeClasspathEntry entry = new RuntimeClasspathEntryImpl();
- entry.setAbsolutePath(absolutePath);
- entry.setManifestValue(manifestValue);
- return entry;
- }
-
- protected static ArrayList getManifestPaths(String path) {
- ArrayList manifestPaths = new ArrayList();
- File f = new File(path);
- if (f.exists()) {
- if (f.isDirectory()) {
- File manifestFile = new File(path + File.separator + "META-INF" + File.separator + "MANIFEST.MF"); //$NON-NLS-1$ //$NON-NLS-2$
- if (manifestFile.exists()) {
- FileInputStream inputStream = null;
- try {
- inputStream = new FileInputStream(manifestFile);
- Manifest manifest = new Manifest(inputStream);
- manifestPaths = getManifestClassPaths(manifest, f.getParent());
- } catch (IOException e) {
- //Ignore
- } finally {
- if (null != inputStream) {
- try {
- inputStream.close();
- } catch (IOException ex) {
- Logger.getLogger().logError(ex);
- }
- }
- }
- }
- } else {
- JarFile jarFile = null;
- try {
- jarFile = new JarFile(f);
- Manifest manifest = jarFile.getManifest();
- if (manifest != null)
- manifestPaths = getManifestClassPaths(manifest, f.getParent());
- } catch (IOException e) {
- //Ignore
- } finally {
- if (jarFile != null)
- try {
- jarFile.close();
- } catch (IOException ex) {
- //Ignore
- }
- }
- }
- }
- return manifestPaths;
- }
-
- protected static ArrayList getManifestClassPaths(Manifest manifest, String archivePath) {
- ArrayList pathList = new ArrayList();
- Attributes main = manifest.getMainAttributes();
- String classPath = main.getValue(Attributes.Name.CLASS_PATH);
- if (classPath != null) {
- StringTokenizer st = new StringTokenizer(classPath, " "); //$NON-NLS-1$
- while (st.hasMoreTokens()) {
- String token = st.nextToken();
- String path = archivePath + File.separator + token;
- path = normalizePath(path);
- if (new File(path).exists()) {
- pathList.add(createRuntimeClasspathEntry(path, token));
- }
- }
- }
- return pathList;
- }
-
- public static String normalizePath(String path) {
- File f = new File(path);
- try {
- f = f.getCanonicalFile();
- } catch (Exception ex) {
- //Ignore
- }
- return f.getPath();
- }
-}

Back to the top