blob: e8da47621b0685fd8e6736d244b8e6958862a0a5 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2004 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.consumption.common;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jst.ws.internal.common.J2EEUtils;
/**
* This class contains useful methods for working with Server plugin functions
*/
public final class MappingUtils
{
// Copyright
public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
private static final String DEFAULT_SERVICE_EXT = "Service.wsdl";
private static final String DEFAULT_BINDING_EXT = "Binding.wsdl";
private static final String DEFAULT_V4_SERVICE_EXT = "-service.wsdl";
private static final String DEFAULT_V4_BINDING_EXT = "-binding.wsdl";
private static final String WSDL_EXTENSION = ".wsdl";
private static final String WSDL_FOLDER = "wsdl";
public static final String DEFAULT_SKELETON_PACKAGENAME = "service";
/**
* Returns the WSDL folder path
* @param project the project
*/
public static IPath getWSDLFolderPath (IProject project, String componentName)
{
IPath wsdlFolder=null;
// IPath webModuleServerRoot = ResourceUtils.getWebModuleServerRoot( project ).getFullPath();
IPath webModuleServerRoot = J2EEUtils.getWebContentPath(project);
if (webModuleServerRoot != null )
wsdlFolder = webModuleServerRoot.append(WSDL_FOLDER);
return wsdlFolder;
}
/**
* Returns the base name based on WSDL file name
* @param wsdlName WSDL file name
*/
public static String getBaseName (String wsdlLocation )
{
String wsdlName=wsdlLocation;
int index = wsdlLocation.lastIndexOf('/');
if (index!= -1) {
wsdlName = wsdlLocation.substring(index+1,wsdlName.length());
}
String baseName=wsdlName;
if ( wsdlName.endsWith(DEFAULT_SERVICE_EXT) ) {
baseName = wsdlName.substring(0,(wsdlName.length() - DEFAULT_SERVICE_EXT.length()));
} else if ( wsdlName.toLowerCase().endsWith(DEFAULT_V4_SERVICE_EXT) ) {
baseName = wsdlName.substring(0,(wsdlName.length() - DEFAULT_V4_SERVICE_EXT.length()));
} else if (wsdlName.endsWith(DEFAULT_BINDING_EXT)) {
baseName = wsdlName.substring(0,(wsdlName.length()-DEFAULT_BINDING_EXT.length()));
} else if (wsdlName.toLowerCase().endsWith(DEFAULT_V4_BINDING_EXT)) {
baseName = wsdlName.substring(0,(wsdlName.length()-DEFAULT_V4_BINDING_EXT.length()));
} else if (wsdlName.toLowerCase().endsWith(WSDL_EXTENSION)) {
baseName = wsdlName.substring(0,(wsdlName.length() - WSDL_EXTENSION.length()));
} else {
// no recognizable suffix, just remove extension, if any
int index4 = baseName.lastIndexOf('.');
if (index4!=-1)
baseName = baseName.substring(0, index4);
}
return baseName;
}
}