Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/CopyAxisJarCommand.java')
-rw-r--r--bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/CopyAxisJarCommand.java446
1 files changed, 0 insertions, 446 deletions
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/CopyAxisJarCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/CopyAxisJarCommand.java
deleted file mode 100644
index c2d0fc18f..000000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/CopyAxisJarCommand.java
+++ /dev/null
@@ -1,446 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 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
- * yyyymmdd bug Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20060509 125094 sengpl@ca.ibm.com - Seng Phung-Lu, Use WorkspaceModifyOperation
- * 20060515 115225 sengpl@ca.ibm.com - Seng Phung-Lu
- * 20060517 142342 kathy@ca.ibm.com - Kathy Chan
- * 20060828 155439 mahutch@ca.ibm.com - Mark Hutchinson
- * 20070501 184505 kathy@ca.ibm.com - Kathy Chan
- * 20070502 184505 kathy@ca.ibm.com - Kathy Chan, Update JAR sizes
- * 20071102 208620 kathy@ca.ibm.com - Kathy Chan, Update JAR sizes
- * 20071102 202222 kathy@ca.ibm.com - Kathy Chan
- * 20080122 216165 kathy@ca.ibm.com - Kathy Chan
- * 20080326 224148 makandre@ca.ibm.com - Andrew Mak, Web service scenarios broke in latest builds with Equinox p2
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.consumption.ui.task;
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
-import org.eclipse.jst.ws.internal.common.J2EEUtils;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
-import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
-import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
-import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
-import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
-import org.eclipse.wst.command.internal.env.core.context.TransientResourceContext;
-import org.eclipse.wst.common.environment.IEnvironment;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.ws.internal.common.BundleUtils;
-
-
-public class CopyAxisJarCommand extends AbstractDataModelOperation {
-
- public static String AXIS_JAR = "axis.jar"; //$NON-NLS-1$
- public static String AXIS_RUNTIME_PLUGIN_ID = "org.apache.axis"; //$NON-NLS-1$
- public static String COMMON_DISCOVERY_PLUGIN_ID = "org.apache.commons.discovery"; //$NON-NLS-1$
- public static String COMMON_DISCOVERY_JAR = "commons-discovery-0.2.jar"; //$NON-NLS-1$
- public static String JAVAX_XML_RPC_PLUGIN_ID = "javax.xml.rpc"; //$NON-NLS-1$
- public static String JAVAX_XML_RPC_JAR = "jaxrpc.jar"; //$NON-NLS-1$
- public static String JAVAX_XML_SOAP_PLUGIN_ID = "javax.xml.soap"; //$NON-NLS-1$
- public static String JAVAX_XML_SOAP_JAR = "saaj.jar"; //$NON-NLS-1$
- public static String JAVAX_WSDL_PLUGIN_ID = "javax.wsdl"; //$NON-NLS-1$
- public static String JAVAX_WSDL_JAR = "wsdl4j.jar"; //$NON-NLS-1$
- public static String COMMON_LOGGING_PLUGIN_ID = "org.apache.commons.logging"; //$NON-NLS-1$
- public static String COMMON_LOGGING_JAR = "commons-logging.jar"; //$NON-NLS-1$
- private static long AXIS_JAR_SIZE = 1588063L;
- private static long COMMON_DISCOVERY_JAR_SIZE = 71451L;
- private static long JAVAX_XML_RPC_JAR_SIZE = 32361L;
- private static long JAVAX_XML_SOAP_JAR_SIZE = 19582L;
- private static long JAVAX_WSDL_JAR_SIZE = 134085L;
- private static long COMMON_LOGGING_JAR_SIZE = 39353L;
-
-// Web Services Jars Used in previous Versions of WTP but now obsolete
- private static String[] OBSOLETE_JARS = new String[]{"commons-discovery.jar", "commons-logging-1.0.4.jar", "log4j-1.2.4.jar", "log4j-1.2.8.jar", "wsdl4j-1.5.1.jar", "axis-ant.jar"};
-
- public static String PATH_TO_JARS_IN_PLUGIN = "lib/";
-
- private IProject project;
- private Boolean projectRestartRequired_ = Boolean.FALSE;
- private IClasspathEntry[] oldClasspath;
- private ArrayList newJarNamesList = new ArrayList();
-
- /**
- * Default CTOR;
- */
- public CopyAxisJarCommand() {
- }
-
- /**
- * Execute the command
- */
- public IStatus execute(IProgressMonitor monitor, IAdaptable adaptable) {
-
- IEnvironment env = getEnvironment();
- IStatus status = Status.OK_STATUS;
- ProgressUtils.report(monitor, AxisConsumptionUIMessages.PROGRESS_INFO_COPY_AXIS_CFG);
-
- if (J2EEUtils.isWebComponent(project)) {
- copyAxisJarsToProject(project, status, env, monitor);
- }
- else {
- // Check if it's a plain old Java project
- if (J2EEUtils.isJavaComponent(project)) {
- status = addAxisJarsToBuildPath(project, env, monitor);
- if (status.getSeverity() == Status.ERROR) {
- env.getStatusHandler().reportError(status);
- return status;
- }
- }
- else {
- status = StatusUtils.errorStatus(AxisConsumptionUIMessages.MSG_WARN_NO_JAVA_NATURE);
- env.getStatusHandler().reportError(status);
- return status;
- }
-
- }
-
- return status;
-
- }
-
- private void copyAxisJarsToProject(IProject project, IStatus status, IEnvironment env, IProgressMonitor monitor) {
-
- IPath webModulePath = J2EEUtils.getWebContentPath(project);
- if (webModulePath == null) {
- status = StatusUtils.errorStatus(ConsumptionMessages.MSG_ERROR_PROJECT_NOT_FOUND);
- env.getStatusHandler().reportError(status);
- return;
- }
-
- deleteObsoleteJars(webModulePath);
-
-
- copyIFile(AXIS_RUNTIME_PLUGIN_ID, "lib/" + AXIS_JAR, webModulePath, "WEB-INF/lib/" + AXIS_JAR, status, env, monitor);
- if (status.getSeverity() == Status.ERROR) {
- return;
- }
- copyIFile(COMMON_DISCOVERY_PLUGIN_ID, "lib/" + COMMON_DISCOVERY_JAR, webModulePath, "WEB-INF/lib/" + COMMON_DISCOVERY_JAR, status, env, monitor);
- if (status.getSeverity() == Status.ERROR) {
- return;
- }
- copyIFile(JAVAX_XML_RPC_PLUGIN_ID, "lib/" + JAVAX_XML_RPC_JAR, webModulePath, "WEB-INF/lib/" + JAVAX_XML_RPC_JAR, status, env, monitor);
- if (status.getSeverity() == Status.ERROR) {
- return;
- }
- copyIFile(JAVAX_XML_SOAP_PLUGIN_ID, "lib/" + JAVAX_XML_SOAP_JAR, webModulePath, "WEB-INF/lib/" + JAVAX_XML_SOAP_JAR, status, env, monitor);
- if (status.getSeverity() == Status.ERROR) {
- return;
- }
- copyPluginJar(JAVAX_WSDL_PLUGIN_ID, webModulePath, "WEB-INF/lib/" + JAVAX_WSDL_JAR, status, env, monitor);
- if (status.getSeverity() == Status.ERROR) {
- return;
- }
-
- copyPluginJar(COMMON_LOGGING_PLUGIN_ID, webModulePath, "WEB-INF/lib/" + COMMON_LOGGING_JAR, status, env, monitor);
- if (status.getSeverity() == Status.ERROR) {
- return;
- }
- return;
- }
-
- /**
- *
- */
- private void copyIFile(String pluginId, String source, IPath targetPath, String targetFile, IStatus status, IEnvironment env, IProgressMonitor monitor) {
- IPath target = targetPath.append(new Path(targetFile));
- ProgressUtils.report(monitor, ConsumptionMessages.PROGRESS_INFO_COPYING_FILE);
-
- try {
- ResourceContext context = new TransientResourceContext();
- context.setOverwriteFilesEnabled(true);
- context.setCreateFoldersEnabled(true);
- context.setCheckoutFilesEnabled(true);
- URL sourceURL = BundleUtils.getURLFromBundle(pluginId, source);
- IFile resource = ResourceUtils.getWorkspaceRoot().getFile(target);
- if (!resource.exists()) {
- IFile file = FileResourceUtils.createFile(context, target, sourceURL.openStream(), monitor, env.getStatusHandler());
- if ((projectRestartRequired_.booleanValue() == false) && file.exists()) {
- projectRestartRequired_ = Boolean.TRUE;
- }
-
- }
- }
- catch (Exception e) {
- status = StatusUtils.errorStatus(AxisConsumptionUIMessages.MSG_ERROR_FILECOPY, e);
- env.getStatusHandler().reportError(status);
-
- }
- }
-
- /**
- * Copy plugins that has been JARed
- */
- private void copyPluginJar(String pluginId, IPath targetPath, String targetFile, IStatus status, IEnvironment env, IProgressMonitor monitor) {
- IPath target = targetPath.append(new Path(targetFile));
- ProgressUtils.report(monitor, ConsumptionMessages.PROGRESS_INFO_COPYING_FILE);
-
- try {
- ResourceContext context = new TransientResourceContext();
- context.setOverwriteFilesEnabled(true);
- context.setCreateFoldersEnabled(true);
- context.setCheckoutFilesEnabled(true);
-
- File jarFile = FileLocator.getBundleFile(Platform.getBundle(pluginId));
- if (jarFile != null && jarFile.isFile()) {
- IFile resource = ResourceUtils.getWorkspaceRoot().getFile(target);
-
- if (!resource.exists()) {
- InputStream is = new FileInputStream(jarFile);
- IFile file = FileResourceUtils.createFile(context, target, is, monitor, env.getStatusHandler());
- if ((projectRestartRequired_.booleanValue() == false) && file.exists()) {
- projectRestartRequired_ = Boolean.TRUE;
- }
-
- }
- }
- }
- catch (Exception e) {
- status = StatusUtils.errorStatus(AxisConsumptionUIMessages.MSG_ERROR_FILECOPY, e);
- env.getStatusHandler().reportError(status);
-
- }
- }
-
- /*
- * Check for any obsolete Jars in WEB-INF/lib folder Obsolete jars would
- * be found in projects migrated from older versions of WTP
- */
- private void deleteObsoleteJars(IPath webModulePath) {
- // First check for Any jars that have names that are known to be
- // obsolete
- for (int i = 0; i < OBSOLETE_JARS.length; i++) {
- IPath path = webModulePath.append("WEB-INF/lib/" + OBSOLETE_JARS[i]);
-
- IFile resource = ResourceUtils.getWorkspaceRoot().getFile(path);
- if (resource.exists()) {
- deleteResource(resource);
- }
- }
-
- // delete older JARs of the same name
- deleteOldJar(webModulePath.append("WEB-INF/lib/" + AXIS_JAR), AXIS_JAR_SIZE);
- deleteOldJar(webModulePath.append("WEB-INF/lib/" + COMMON_DISCOVERY_JAR), COMMON_DISCOVERY_JAR_SIZE);
- deleteOldJar(webModulePath.append("WEB-INF/lib/" + JAVAX_XML_RPC_JAR), JAVAX_XML_RPC_JAR_SIZE);
- deleteOldJar(webModulePath.append("WEB-INF/lib/" + JAVAX_XML_SOAP_JAR), JAVAX_XML_SOAP_JAR_SIZE);
- deleteOldJar(webModulePath.append("WEB-INF/lib/" + JAVAX_WSDL_JAR), JAVAX_WSDL_JAR_SIZE);
- deleteOldJar(webModulePath.append("WEB-INF/lib/" + COMMON_LOGGING_JAR), COMMON_LOGGING_JAR_SIZE);
-
- }
-
- private void deleteOldJar(IPath jarPath, long jarSize) {
- IFile resource = ResourceUtils.getWorkspaceRoot().getFile(jarPath);
- if (resource.exists()) {
- // calculate the size of the resource by getting the java.io.File
- long fileSize = resource.getLocation().toFile().length();
- if (fileSize != jarSize) {
- deleteResource(resource);
- }
- }
- }
-
- private void deleteResource(IFile resource) { // delete the resource
- try {
- // System.out.println("Obsolete Jar!! " + resource.getName());
- resource.delete(true, null);
- }
- catch (Exception e) { // e.printStackTrace();
- }
- }
-
-
- /**
- * Addes Axis JARs to the build path of Java project
- *
- * @param env
- * @param monitor
- * @return
- */
- public IStatus addAxisJarsToBuildPath(IProject project, IEnvironment env, IProgressMonitor monitor) {
-
- IStatus status;
-
- try {
- getJavaProjectClasspath(env, monitor);
-
- addNewJarEntry(PATH_TO_JARS_IN_PLUGIN + AXIS_JAR, getTheJarPath(AXIS_RUNTIME_PLUGIN_ID, PATH_TO_JARS_IN_PLUGIN + AXIS_JAR));
- addNewJarEntry(PATH_TO_JARS_IN_PLUGIN + COMMON_DISCOVERY_JAR, getTheJarPath(COMMON_DISCOVERY_PLUGIN_ID, PATH_TO_JARS_IN_PLUGIN + COMMON_DISCOVERY_JAR));
- addNewJarEntry(PATH_TO_JARS_IN_PLUGIN + JAVAX_XML_RPC_JAR, getTheJarPath(JAVAX_XML_RPC_PLUGIN_ID, PATH_TO_JARS_IN_PLUGIN + JAVAX_XML_RPC_JAR));
- addNewJarEntry(PATH_TO_JARS_IN_PLUGIN + JAVAX_XML_SOAP_JAR, getTheJarPath(JAVAX_XML_SOAP_PLUGIN_ID, PATH_TO_JARS_IN_PLUGIN + JAVAX_XML_SOAP_JAR));
-
- IPath javaxWsdlJarPath = BundleUtils.getJarredPluginPath(JAVAX_WSDL_PLUGIN_ID);
- if (javaxWsdlJarPath != null) {
- addNewJarEntry(javaxWsdlJarPath.toString(), javaxWsdlJarPath);
- }
-
- IPath commonLoggingJarPath = BundleUtils.getJarredPluginPath(COMMON_LOGGING_PLUGIN_ID);
- if (commonLoggingJarPath != null) {
- addNewJarEntry(commonLoggingJarPath.toString(), commonLoggingJarPath);
- }
- updateClasspath(monitor);
- }
- catch (Exception e) {
- status = StatusUtils.errorStatus(AxisConsumptionUIMessages.MSG_ERROR_BAD_BUILDPATH, e);
- return status;
- }
-
- return Status.OK_STATUS;
- }
-
- /**
- * @param env
- * @param monitor
- * @return The Java project classpath
- * @throws JavaModelException
- */
- private IStatus getJavaProjectClasspath(IEnvironment env, IProgressMonitor monitor) throws JavaModelException {
-
- IStatus status = Status.OK_STATUS;
-
- IJavaProject javaProject_ = null;
- oldClasspath = null;
- javaProject_ = JavaCore.create(project);
-
- oldClasspath = javaProject_.getRawClasspath();
-
- return status;
- }
-
- /**
- * Store new JAR name in newJarNamesList if it's not already on build path
- *
- * @param jarName
- * name of the JAR
- * @param jarPath
- * Absolute path to the JAR
- */
- private void addNewJarEntry(String jarName, IPath jarPath) {
-
- boolean found = false;
- for (int i = 0; i < oldClasspath.length; i++) {
- found = oldClasspath[i].getPath().toString().toLowerCase().endsWith(jarName.toLowerCase());
- if (found) {
- break;
- }
- }
-
- if (!found) {
- newJarNamesList.add(new JarEntry(jarName, jarPath));
- }
-
- }
-
- /**
- * Update the Java project classpath adding classpath from newJarNamesList
- * to oldClasspath
- *
- * @param monitor
- * @return
- * @throws JavaModelException
- */
- private IStatus updateClasspath(IProgressMonitor monitor) throws JavaModelException {
-
- IStatus status = Status.OK_STATUS;
-
- if (newJarNamesList.size() > 0) {
- JarEntry[] newJarEntries = (JarEntry[]) newJarNamesList.toArray(new JarEntry[]{});
-
- IClasspathEntry[] newClasspath = new IClasspathEntry[oldClasspath.length + newJarEntries.length];
- int i = 0;
- // Add oldClasspath entries
- while (i < oldClasspath.length) {
- newClasspath[i] = oldClasspath[i];
- i++;
- }
-
- int m = 0;
- while (i < newClasspath.length) {
- newClasspath[i] = JavaCore.newLibraryEntry(newJarEntries[m].getJarPath(), null, null);
- m++;
- i++;
- }
-
- //
- // Then update the project classpath.
- //
-
- IJavaProject javaProject = JavaCore.create(project);
- javaProject.setRawClasspath(newClasspath, monitor);
-
- }
-
- return status;
-
- }
-
- //
- // Returns the local native pathname of the jar.
- //
- private IPath getTheJarPath(String pluginId, String theJar) throws MalformedURLException, IOException {
- if (pluginId != null) {
- URL localURL = Platform.asLocalURL(BundleUtils.getURLFromBundle(pluginId, theJar));
- return new Path(localURL.getFile());
- }
- else {
- return new Path(theJar);
- }
-
- }
-
- public void setProject(IProject project) {
- this.project = project;
- }
-
- public boolean getProjectRestartRequired() {
- return projectRestartRequired_.booleanValue();
- }
-
- public class JarEntry {
- private String jarName;
- private IPath jarPath;
-
- public JarEntry(String name, IPath path) {
- jarName = name;
- jarPath = path;
- }
-
- public String getJarName() {
- return jarName;
- }
-
- public IPath getJarPath() {
- return jarPath;
- }
-
- }
-}

Back to the top