Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws')
-rw-r--r--bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/BackupSkelImplCommand.java158
-rw-r--r--bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/Skeleton2WSDLCommand.java30
-rw-r--r--bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/AxisSkeletonDefaultingCommand.java1
-rw-r--r--bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wizard/wsdl/WSWSDLAxisType.java4
-rw-r--r--bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisWebService.java6
5 files changed, 178 insertions, 21 deletions
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/BackupSkelImplCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/BackupSkelImplCommand.java
new file mode 100644
index 000000000..29afb32d2
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/BackupSkelImplCommand.java
@@ -0,0 +1,158 @@
+/*******************************************************************************
+ * Copyright (c) 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.ws.internal.axis.creation.ui.task;
+
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import javax.wsdl.Binding;
+import javax.wsdl.Definition;
+import javax.wsdl.Port;
+import javax.wsdl.Service;
+
+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.Status;
+import org.eclipse.jst.ws.internal.axis.consumption.core.AxisConsumptionCoreMessages;
+import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.util.PlatformUtils;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.util.WSDLUtils;
+import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
+
+public class BackupSkelImplCommand extends AbstractDataModelOperation
+{
+ private final String IMPL = "Impl"; //$NON-NLS-1$
+ private final String DOT = "."; //$NON-NLS-1$
+ private final String BAK_EXT = "bak"; //$NON-NLS-1$
+ private final String JAVA = "java"; //$NON-NLS-1$
+ private WebServicesParser webServicesParser;
+ private JavaWSDLParameter javaWSDLParam;
+
+ public BackupSkelImplCommand( ) {
+ }
+
+
+ public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+ {
+ IEnvironment environment = getEnvironment();
+ if (javaWSDLParam == null)
+ {
+ IStatus status = StatusUtils.errorStatus(AxisConsumptionCoreMessages.MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET);
+ environment.getStatusHandler().reportError(status);
+ return status;
+ }
+
+ IStatus status = Status.OK_STATUS;
+ // Read WSDL
+ Definition definition = null;
+ String wsdlURL = javaWSDLParam.getInputWsdlLocation();
+ try
+ {
+ URL url = new URL(wsdlURL);
+ definition = webServicesParser.getWSDLDefinition(url.toString());
+ }
+ catch(MalformedURLException e)
+ {
+ wsdlURL = PlatformUtils.getFileURLFromPath(new Path(wsdlURL));
+ definition = webServicesParser.getWSDLDefinition(wsdlURL);
+ }
+
+ // Compute the qualified name of the Java bean skeleton
+ Service service = null;
+ Port port = null;
+ if (definition != null) {
+ StringBuffer beanName = new StringBuffer();
+ String beanPackageName = WSDLUtils.getPackageName(definition);
+ javaWSDLParam.setBeanPackage(beanPackageName);
+ beanName.append(beanPackageName);
+ beanName.append(DOT);
+
+ service = (Service) definition.getServices().values().iterator().next();
+ port = (Port) service.getPorts().values().iterator().next();
+ Binding binding = port.getBinding();
+ beanName.append(binding.getQName().getLocalPart());
+ beanName.append(IMPL);
+ String beanNameString = beanName.toString();
+ javaWSDLParam.setBeanName(beanNameString);
+
+ // Check if the skeleton implementation bean already exist or not.
+ // If it does, then back it up as xxx.java.bak before proceeding to call the Axis emitter
+
+ FileInputStream finStream = null;
+
+ ResourceContext context = WebServicePlugin.getInstance().getResourceContext();
+ IStatusHandler statusHandler = environment.getStatusHandler();
+
+ String beanNamePathString = beanNameString.replace('.',IPath.SEPARATOR);
+ IPath skelImplPath = new Path (javaWSDLParam.getJavaOutput()).append(new Path (beanNamePathString)).addFileExtension(JAVA);
+ if (skelImplPath.toFile().exists()) {
+ IPath targetPath = skelImplPath.addFileExtension(BAK_EXT);
+ try {
+ finStream = new FileInputStream(skelImplPath.toString());
+ if (finStream != null) {
+ FileResourceUtils.createFileAtLocation(context, targetPath.makeAbsolute(), finStream,
+ monitor, statusHandler);
+ finStream.close();
+ }
+ } catch (Exception e) {
+ status = StatusUtils.errorStatus(NLS.bind(AxisConsumptionCoreMessages.MSG_ERROR_MOVE_RESOURCE,new String[]{e.getLocalizedMessage()}), e);
+ environment.getStatusHandler().reportError(status);
+ } finally {
+ try {
+ if (finStream != null) {
+ finStream.close();
+ }
+ } catch (IOException e) {
+ }
+ }
+ }
+ }
+ else {
+ status = StatusUtils.errorStatus( NLS.bind(AxisConsumptionUIMessages.MSG_ERROR_WSDL_NO_DEFINITION, new String[] {wsdlURL}));
+ environment.getStatusHandler().reportError(status);
+ }
+
+ return status;
+ }
+
+
+ /**
+ * Sets the javaWSDLParam.
+ * @param javaWSDLParam The javaWSDLParam to set
+ */
+ public void setJavaWSDLParam(JavaWSDLParameter javaWSDLParam) {
+ this.javaWSDLParam = javaWSDLParam;
+ }
+
+ /**
+ * @param webServicesParser The webServicesParser to set.
+ */
+ public void setWebServicesParser(WebServicesParser webServicesParser) {
+ this.webServicesParser = webServicesParser;
+ }
+
+
+}
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/Skeleton2WSDLCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/Skeleton2WSDLCommand.java
index e7c9ddc98..020dafb0e 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/Skeleton2WSDLCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/Skeleton2WSDLCommand.java
@@ -17,7 +17,6 @@ import java.net.URL;
import java.util.Iterator;
import java.util.Map;
-import javax.wsdl.Binding;
import javax.wsdl.Definition;
import javax.wsdl.Port;
import javax.wsdl.Service;
@@ -53,10 +52,9 @@ import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
public class Skeleton2WSDLCommand extends AbstractDataModelOperation
{
- private static final String IMPL = "Impl"; //$NON-NLS-1$
+
private static final String SERVICE_EXT = "/services/"; //$NON-NLS-1$
private static final String WSDL_EXT = "wsdl"; //$NON-NLS-1$
- private static final String DOT = "."; //$NON-NLS-1$
private final String WSDL_FOLDER = "wsdl"; //$NON-NLS-1$
private WebServicesParser webServicesParser;
private JavaWSDLParameter javaWSDLParam;
@@ -97,25 +95,15 @@ public class Skeleton2WSDLCommand extends AbstractDataModelOperation
Service service = null;
Port port = null;
if (definition != null) {
- StringBuffer beanName = new StringBuffer();
- beanName.append(WSDLUtils.getPackageName(definition));
- beanName.append(DOT);
- try{
- service = (Service) definition.getServices().values().iterator().next();
- port = (Port) service.getPorts().values().iterator().next();
- Binding binding = port.getBinding();
- beanName.append(binding.getQName().getLocalPart());
- beanName.append(IMPL);
- javaWSDLParam.setBeanName(beanName.toString());
+
+ // beanName and beanPackageName are now set in BackupSkelImplCommand
+
+ service = (Service) definition.getServices().values().iterator().next();
+ port = (Port) service.getPorts().values().iterator().next();
+
+ javaWSDLParam.setPortTypeName(WSDLUtils.getPortTypeName(definition));
+ javaWSDLParam.setServiceName(WSDLUtils.getServiceElementName(definition));
- javaWSDLParam.setPortTypeName(WSDLUtils.getPortTypeName(definition));
- javaWSDLParam.setServiceName(
- WSDLUtils.getServiceElementName(definition));
- javaWSDLParam.setBeanPackage(WSDLUtils.getPackageName(definition));
- }
- catch(Throwable e){
- e.printStackTrace();
- }
}
else {
IStatus status = StatusUtils.errorStatus( NLS.bind(AxisConsumptionUIMessages.MSG_ERROR_WSDL_NO_DEFINITION, new String[] {wsdlURL}));
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/AxisSkeletonDefaultingCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/AxisSkeletonDefaultingCommand.java
index ed1c61239..bd5cccceb 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/AxisSkeletonDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/AxisSkeletonDefaultingCommand.java
@@ -35,6 +35,7 @@ public class AxisSkeletonDefaultingCommand extends AbstractDataModelOperation
javaWSDLParam.setServerSide(JavaWSDLParameter.SERVER_SIDE_BEAN);
javaWSDLParam.setSkeletonDeploy(true);
javaWSDLParam.setMetaInfOnly(false);
+ javaWSDLParam.setInputWsdlLocation(wsdlURI_);
return Status.OK_STATUS;
}
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wizard/wsdl/WSWSDLAxisType.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wizard/wsdl/WSWSDLAxisType.java
index 6877b5790..83c3d9552 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wizard/wsdl/WSWSDLAxisType.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wizard/wsdl/WSWSDLAxisType.java
@@ -14,6 +14,7 @@ package org.eclipse.jst.ws.internal.axis.creation.ui.wizard.wsdl;
import org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand;
import org.eclipse.jst.ws.internal.axis.consumption.ui.widgets.AxisMappingsFragment;
import org.eclipse.jst.ws.internal.axis.consumption.ui.widgets.AxisMappingsWidget;
+import org.eclipse.jst.ws.internal.axis.creation.ui.task.BackupSkelImplCommand;
import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.skeleton.AxisSkeletonDefaultingCommand;
import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.skeleton.SkeletonConfigWidget;
import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.skeleton.SkeletonConfigWidgetDefaultingCommand;
@@ -125,6 +126,9 @@ public class WSWSDLAxisType implements CommandWidgetBinding
dataRegistry.addMapping(SkeletonConfigWidgetDefaultingCommand.class, "OutputJavaFolder", SkeletonConfigWidget.class);
dataRegistry.addMapping(SkeletonConfigWidgetDefaultingCommand.class, "ShowMapping", SkeletonConfigWidget.class);
+ // BackupSkelImplCommand
+ dataRegistry.addMapping(SkeletonConfigWidget.class, "JavaWSDLParam", BackupSkelImplCommand.class);
+
// AxisMappingsFragment
dataRegistry.addMapping(SkeletonConfigWidgetDefaultingCommand.class, "ShowMapping", AxisMappingsFragment.class);
dataRegistry.addMapping(SkeletonConfigWidget.class, "ShowMapping", AxisMappingsFragment.class);
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisWebService.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisWebService.java
index f331d8cba..ac5c83384 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisWebService.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisWebService.java
@@ -31,6 +31,7 @@ import org.eclipse.jst.ws.internal.axis.creation.ui.command.PublishServerCommand
import org.eclipse.jst.ws.internal.axis.creation.ui.command.TDAxisInputCommand;
import org.eclipse.jst.ws.internal.axis.creation.ui.command.UpdateWEBXMLCommand;
import org.eclipse.jst.ws.internal.axis.creation.ui.task.BUCheckAxisDeploymentDescriptors;
+import org.eclipse.jst.ws.internal.axis.creation.ui.task.BackupSkelImplCommand;
import org.eclipse.jst.ws.internal.axis.creation.ui.task.DefaultsForServerJavaWSDLCommand;
import org.eclipse.jst.ws.internal.axis.creation.ui.task.Skeleton2WSDLCommand;
import org.eclipse.jst.ws.internal.axis.creation.ui.task.TDCheckAxisDeploymentDescriptors;
@@ -118,6 +119,7 @@ public class AxisWebService extends AbstractWebService
// commands.add(new SimpleFragment( "AxisMappingsWidget" ));
commands.add(new TDCheckAxisDeploymentDescriptors());
commands.add(new CopyAxisJarCommand());
+ commands.add(new BackupSkelImplCommand());
commands.add(new WSDL2JavaCommand());
commands.add(new Skeleton2WSDLCommand());
commands.add(new UpdateWEBXMLCommand(getWebServiceInfo()));
@@ -296,6 +298,10 @@ public class AxisWebService extends AbstractWebService
// CopyAxisJarCommand
dataRegistry.addMapping(TDAxisInputCommand.class, "ServerProject", CopyAxisJarCommand.class, "Project", projectTransformer);
+ // BackupSkelImplCommand
+ dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "WebServicesParser", BackupSkelImplCommand.class);
+ dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "JavaWSDLParam", BackupSkelImplCommand.class);
+
// Skeleton2WSDLCommand
dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "WebServicesParser", Skeleton2WSDLCommand.class);
dataRegistry.addMapping(TDAxisInputCommand.class, "ServerProject", Skeleton2WSDLCommand.class, "ServerProject", projectTransformer);

Back to the top