Java tutorial
/******************************************************************************* * Copyright (c) 2001, 2011 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 * -------- -------- ----------------------------------------------------------- * 20110224 338128 mahutch@ca.ibm.com - Mark Hutchinson, NPE When Creating New WSDL File *******************************************************************************/ package org.eclipse.wst.wsdl.ui.internal.wizards; import java.net.URI; import java.net.URISyntaxException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Vector; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IPath; import org.eclipse.jface.dialogs.IMessageProvider; import org.eclipse.jface.preference.PreferenceDialog; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Link; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.dialogs.PreferencesUtil; import org.eclipse.ui.dialogs.WizardNewFileCreationPage; import org.eclipse.ui.part.PageBook; import org.eclipse.wst.ws.service.policy.IServicePolicy; import org.eclipse.wst.wsdl.internal.generator.BindingGenerator; import org.eclipse.wst.wsdl.ui.internal.Messages; import org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin; import org.eclipse.wst.wsdl.ui.internal.asd.ASDEditorCSHelpIds; import org.eclipse.wst.wsdl.ui.internal.asd.contentgenerator.ui.extension.ContentGeneratorUIExtension; import org.eclipse.wst.wsdl.ui.internal.asd.contentgenerator.ui.extension.ContentGeneratorUIExtensionRegistry; import org.eclipse.wst.wsdl.ui.internal.contentgenerator.ui.BaseContentGeneratorOptionsPage; import org.eclipse.wst.wsdl.ui.internal.contentgenerator.ui.ISoapStyleInfo; import org.eclipse.wst.wsdl.ui.internal.util.ServicePolicyHelper; import org.eclipse.wst.wsdl.ui.internal.util.ValidateHelper; import org.eclipse.wst.xml.core.internal.contentmodel.util.NamespaceInfo; import org.eclipse.wst.xml.ui.internal.dialogs.UpdateListener; public class WSDLNewFileOptionsPage extends WizardPage implements ModifyListener, UpdateListener, SelectionListener { protected WizardNewFileCreationPage newFileCreationPage; protected Text targetNamespaceText; protected Text prefixText; protected boolean updatePortOpFieldBoolean = true; protected PageBook protocolPageBook; protected Combo protocolCombo; protected Link WSIPreferenceLink; private BindingGenerator generator; private Map pageMap = new HashMap(); private IServicePolicy activeServicePolicy; /** * Constructor for WSDLNewFileOptionsPage. * @param pageName */ public WSDLNewFileOptionsPage(String pageName) { super(pageName); } public void setBindingGenerator(BindingGenerator generator) { this.generator = generator; } /** * Constructor for WSDLNewFileOptionsPage. * @param pageName * @param title * @param titleImage */ public WSDLNewFileOptionsPage(String pageName, String title, ImageDescriptor titleImage) { super(pageName, title, titleImage); setDescription(Messages._UI_DESCRIPTION_NEW_WSDL_FILE); } public WSDLNewFileOptionsPage(String pageName, String title, ImageDescriptor titleImage, WizardNewFileCreationPage newFilePage) { super(pageName, title, titleImage); setDescription(Messages._UI_DESCRIPTION_NEW_WSDL_FILE); newFileCreationPage = newFilePage; } /** * @see org.eclipse.jface.dialogs.IDialogPage#createControl(Composite) */ public void createControl(Composite parent) { Composite base = new Composite(parent, SWT.NONE); PlatformUI.getWorkbench().getHelpSystem().setHelp(base, Messages._UI_HELP); //$NON-NLS-1$ base.setLayout(new GridLayout()); // Group wsdlGroup = ViewUtility.createGroup(base, 2, "WSDL", false); Composite wsdlGroup = new Composite(base, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2; wsdlGroup.setLayout(layout); GridData data = new GridData(); data.verticalAlignment = GridData.FILL; data.horizontalAlignment = GridData.FILL; wsdlGroup.setLayoutData(data); GridData gd = (GridData) wsdlGroup.getLayoutData(); gd.grabExcessHorizontalSpace = true; Label targetNamespace = new Label(wsdlGroup, SWT.LEFT); targetNamespace.setText(Messages._UI_LABEL_TARGET_NAMESPACE); GridData nsData = new GridData(); nsData.horizontalAlignment = GridData.FILL; targetNamespace.setLayoutData(nsData); targetNamespaceText = new Text(wsdlGroup, SWT.SINGLE | SWT.BORDER); GridData textData = new GridData(); textData.horizontalAlignment = GridData.FILL; textData.grabExcessHorizontalSpace = true; textData.widthHint = 10; targetNamespaceText.setLayoutData(textData); targetNamespaceText.addModifyListener(this); PlatformUI.getWorkbench().getHelpSystem().setHelp(targetNamespaceText, ASDEditorCSHelpIds.WSDL_WIZARD_OPTIONS_PAGE_TNS_TEXT); Label prefix = new Label(wsdlGroup, SWT.LEFT); prefix.setText(Messages._UI_LABEL_PREFIX_WITH_COLON); GridData prefixData = new GridData(); prefixData.horizontalAlignment = GridData.FILL; prefix.setLayoutData(prefixData); prefixText = new Text(wsdlGroup, SWT.SINGLE | SWT.BORDER); GridData prefixTextData = new GridData(); prefixTextData.horizontalAlignment = GridData.FILL; prefixTextData.grabExcessHorizontalSpace = true; prefixTextData.widthHint = 10; prefixText.setLayoutData(prefixTextData); prefixText.addModifyListener(this); PlatformUI.getWorkbench().getHelpSystem().setHelp(prefixText, ASDEditorCSHelpIds.WSDL_WIZARD_OPTIONS_PAGE_PREFIX_TEXT); // XMLCatalog xmlCatalog = XMLCatalogRegistry.getInstance().lookupOrCreateXMLCatalog("default"); // SelectXMLCatalogIdPanel catalog = new SelectXMLCatalogIdPanel(base, xmlCatalog); // Determine if the user wishes to create a skeleton WSDL. If yes, present the user with input fields. createSkeletonCheckBox = new Button(base, SWT.CHECK); createSkeletonCheckBox.setText(Messages._UI_LABEL_CREATE_WSDL_SKELETON); createSkeletonCheckBox.setSelection(true); PlatformUI.getWorkbench().getHelpSystem().setHelp(createSkeletonCheckBox, ASDEditorCSHelpIds.WSDL_WIZARD_OPTIONS_PAGE_CREATE_SKELETON_CHECKBOX); wsdlSkeletonGroup = new Composite(base, SWT.NONE); GridLayout layout2 = new GridLayout(); layout2.numColumns = 2; wsdlSkeletonGroup.setLayout(layout2); GridData data2 = new GridData(); data2.verticalAlignment = GridData.FILL; data2.horizontalAlignment = GridData.FILL; wsdlSkeletonGroup.setLayoutData(data2); createLabel(wsdlSkeletonGroup, Messages._UI_LABEL_BINDING_PROTOCOL); protocolCombo = new Combo(wsdlSkeletonGroup, SWT.READ_ONLY); GridData dataC = new GridData(); dataC.horizontalAlignment = GridData.FILL; dataC.grabExcessHorizontalSpace = true; protocolCombo.setLayoutData(dataC); IProject project = getProject(); activeServicePolicy = ServicePolicyHelper.getActivePolicyWithProtocol(project); String defaultProtocolNS = ServicePolicyHelper.getDefaultBinding(project, activeServicePolicy); String defaultProtocolLabel = null; ContentGeneratorUIExtensionRegistry registry = WSDLEditorPlugin.getInstance() .getContentGeneratorUIExtensionRegistry(); ContentGeneratorUIExtension extension = registry.getExtensionForNamespace(defaultProtocolNS); if (extension != null) defaultProtocolLabel = extension.getLabel(); Iterator it = registry.getBindingExtensionNames().iterator(); int defaultIndex = 0; boolean defaultFound = false; while (it.hasNext()) { String protocolName = (String) it.next(); String protocolLabel = null; ContentGeneratorUIExtension ext = registry.getExtensionForName(protocolName); if (ext != null) { String label = ext.getLabel(); if (label != null) { protocolLabel = label; protocolCombo.add(protocolLabel); } } if (!defaultFound && protocolLabel != null) { defaultFound = protocolLabel.equals(defaultProtocolLabel); if (!defaultFound) { ++defaultIndex; } } } if (!defaultFound) { defaultIndex = 0; } protocolCombo.addModifyListener(this); PlatformUI.getWorkbench().getHelpSystem().setHelp(protocolCombo, ASDEditorCSHelpIds.WSDL_WIZARD_OPTIONS_PAGE_PROTOCOL_COMBO); // Create PageBook and pages/controls for the PageBook protocolPageBook = new PageBook(base, SWT.NONE); GridData gdFill = new GridData(); gdFill.horizontalAlignment = GridData.FILL; gdFill.grabExcessHorizontalSpace = true; gdFill.verticalAlignment = GridData.FILL; gdFill.grabExcessVerticalSpace = true; protocolPageBook.setLayoutData(gdFill); if (protocolCombo.getItemCount() > 0) { String protocol = protocolCombo.getItem(defaultIndex); ContentGeneratorUIExtension ext = registry.getExtensionForLabel(protocol); ContentGeneratorOptionsPage page = ext.getBindingContentGeneratorOptionsPage(); // page.init(generator);//this is not required, called by updatePageBook // protocolPageBook.showPage(page.getControl()); //not needed, called in updatePageBook protocolPageBook.setVisible(true); protocolCombo.select(defaultIndex); updatePageBook(protocol); } wsdlSkeletonGroup.setVisible(true); WSIPreferenceLink = new Link(base, SWT.NONE); WSIPreferenceLink.setText("<A>" + Messages._WSI_COMPLIANCE_LINK_TEXT + "</A>"); //$NON-NLS-1$ //$NON-NLS-2$ WSIPreferenceLink.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { getNewWSDLWizard().openProjectWSIProperties(); IProject project = getProject(); activeServicePolicy = ServicePolicyHelper.getActivePolicyWithProtocol(project); setPageComplete(validatePage()); } }); WSIPreferenceLink.setLayoutData(new GridData(GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_END)); // Modify default values setting link Link preferencesLink = new Link(base, SWT.NONE); preferencesLink.setText("<a>" + Messages._UI_LINK_TEXT_MODIFY_DEFAULT_VALUES_SETTING + "</a>"); //$NON-NLS-1$ //$NON-NLS-2$ preferencesLink.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent selectionEvent) { PreferenceDialog preferenceDialog = PreferencesUtil.createPreferenceDialogOn(getShell(), WSDLEditorPlugin.WSDL_PREFERENCE_PAGE, new String[] { WSDLEditorPlugin.WSDL_PREFERENCE_PAGE }, null); if (preferenceDialog != null) preferenceDialog.open(); } }); createSkeletonCheckBox.addSelectionListener(this); PlatformUI.getWorkbench().getHelpSystem().setHelp(base, ASDEditorCSHelpIds.WSDL_WIZARD_OPTIONS_PAGE); base.layout(); setControl(base); } private NewWSDLWizard getNewWSDLWizard() { return (NewWSDLWizard) getWizard(); } private String computeDefaultDefinitionName() { String name = "DefaultName"; //$NON-NLS-1$ IPath path = getNewWSDLWizard().getNewFilePath(); if (path != null) { name = path.removeFileExtension().lastSegment().toString(); } return name; } private String computeDefaultNamespaceName() { String namespace = WSDLEditorPlugin.getInstance().getPreferenceStore() .getString(WSDLEditorPlugin.DEFAULT_TARGET_NAMESPACE_ID); if (!namespace.endsWith("/")) { //$NON-NLS-1$ namespace = namespace.concat("/"); //$NON-NLS-1$ } IPath path = getNewWSDLWizard().getNewFilePath(); if (path != null) { namespace += path.removeFileExtension().toString() + "/"; //$NON-NLS-1$ } return namespace; } private String computeDefaultPrefix() { return WSDLEditorPlugin.getInstance().getPreferenceStore() .getString(WSDLEditorPlugin.DEFAULT_TARGET_NAMESPACE_PREFIX_PREFERENCE_ID); } public void setVisible(boolean visible) { super.setVisible(visible); if (visible) { // prime the fields targetNamespaceText.setText(computeDefaultNamespaceName()); prefixText.setText(computeDefaultPrefix()); } } public String getTargetNamespace() { return targetNamespaceText.getText(); } public String getPrefix() { return prefixText.getText().trim(); } public String getDefinitionName() { return computeDefaultDefinitionName(); } public void modifyText(ModifyEvent e) { if (e.widget == targetNamespaceText) { startDelayedEvent(e); } else if (e.widget == prefixText) { setPageComplete(validatePage()); } else if (e.widget == protocolCombo) { String protocol = protocolCombo.getText(); ContentGeneratorUIExtension ext = WSDLEditorPlugin.getInstance() .getContentGeneratorUIExtensionRegistry().getExtensionForLabel(protocol); generator.setContentGenerator(BindingGenerator.getContentGenerator(ext.getNamespace())); updatePageBook(protocol); setPageComplete(validatePage()); } } protected void updatePageBook(String protocol) { if (protocol != null) { ContentGeneratorOptionsPage page = (ContentGeneratorOptionsPage) pageMap.get(protocol); if (page == null) { page = createContentGeneratorOptionsPage(protocol); if (page != null) { page.init(generator); page.createControl(protocolPageBook); pageMap.put(protocol, page); if (page instanceof BaseContentGeneratorOptionsPage) { // We should put the setWizardPage() method into the ContentGeneratorOptionsPage Interface ((BaseContentGeneratorOptionsPage) page).setWizardPage(this); } } } if (page != null) { protocolPageBook.showPage(page.getControl()); protocolPageBook.layout(); protocolPageBook.getParent().layout(); // resize the wizard dialog if necessary for the updated page Point size = protocolPageBook.getShell().getSize(); Point minSize = protocolPageBook.getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT, true); int newX = Math.max(size.x, minSize.x); int newY = Math.max(size.y, minSize.y); protocolPageBook.getShell().setSize(newX, newY); page.setOptionsOnGenerator(); } } } public ContentGeneratorOptionsPage createContentGeneratorOptionsPage(String protocol) { ContentGeneratorOptionsPage optionsPage = null; ContentGeneratorUIExtension extension = WSDLEditorPlugin.getInstance() .getContentGeneratorUIExtensionRegistry().getExtensionForLabel(protocol); if (extension != null) { optionsPage = extension.getBindingContentGeneratorOptionsPage(); } return optionsPage; } public void updateOccured(Object arg1, Object arg2) { setPageComplete(validatePage()); } public boolean validatePage() { boolean ready = true; setErrorMessage(null); setMessage(null); // this.setMessage(Messages.getString("_UI_DESCRIPTION_NEW_WSDL_FILE"),this.NONE); // //$NON-NLS-1$ // so that the page doesn't immediately show up with an error if (targetNamespaceText.getText().trim().equals("")) //$NON-NLS-1$ { if (ready) { setErrorMessage(null); } return false; } if (!validateTargetNamespace(targetNamespaceText.getText())) { ready = false; } if (createSkeletonCheckBox.getSelection()) { if (!displayDialogMessages()) { ready = false; } } else { this.setMessage(Messages._UI_DESCRIPTION_NEW_WSDL_FILE, NONE); } return ready; } protected boolean displayDialogMessages() { String protocol = getProtocol(); if (!(pageMap.get(protocol) instanceof ContentGeneratorOptionsPage)) { return false; } if (!validateProtocol(protocol)) { if (getMessageType() == IMessageProvider.ERROR) return false; else return true; } ContentGeneratorOptionsPage optionsPage = (ContentGeneratorOptionsPage) pageMap.get(protocol); IFile targetFile = ResourcesPlugin.getWorkspace().getRoot() .getFile(newFileCreationPage.getContainerFullPath().append(newFileCreationPage.getFileName())); if (optionsPage instanceof BaseContentGeneratorOptionsPage) { ((BaseContentGeneratorOptionsPage) optionsPage).setTargetIFile(targetFile); String message = ((IMessageProvider) optionsPage).getMessage(); int messageType = ((IMessageProvider) optionsPage).getMessageType(); if (messageType == IMessageProvider.NONE) { setMessage(Messages._UI_DESCRIPTION_NEW_WSDL_FILE, NONE); } else { setMessage(message, messageType); } if (messageType == IMessageProvider.ERROR) { return false; } } return true; } protected boolean validatePrefix(String prefix) { String errorMessage = ValidateHelper.checkXMLPrefix(prefix); if (errorMessage == null || errorMessage.length() == 0) { return true; } return false; } /** * Validates protocol by checking if there is an active wsi policy requires or * suggests a default protocol and that protocol is not the same as the * currently selected protocol * * @param protocol * @return */ private boolean validateProtocol(String protocol) { ContentGeneratorUIExtensionRegistry registry = WSDLEditorPlugin.getInstance() .getContentGeneratorUIExtensionRegistry(); ContentGeneratorUIExtension extension = registry.getExtensionForLabel(protocol); if (extension != null) { String namespace = extension.getNamespace(); if (namespace != null) { IProject project = getProject(); if (activeServicePolicy != null) { // get default binding and compare if same or not String defaultBinding = ServicePolicyHelper.getDefaultBinding(project, activeServicePolicy); if (!defaultBinding.equals(namespace)) { int messageType = ServicePolicyHelper.getMessageSeverity(project, activeServicePolicy); if (messageType == IMessageProvider.ERROR) { // if not same, set error message // put up an error message ContentGeneratorUIExtension ext = registry.getExtensionForNamespace(defaultBinding); if (ext != null) { String n = ext.getLabel(); setMessage(NLS.bind(Messages._ERROR_WSI_COMPLIANCE_PROTOCOL, new String[] { n }), IMessageProvider.ERROR); } return false; } else if (messageType == IMessageProvider.WARNING) { // put up a warning message ContentGeneratorUIExtension ext = registry.getExtensionForNamespace(defaultBinding); if (ext != null) { String n = ext.getLabel(); setMessage(NLS.bind(Messages._WARN_WSI_COMPLIANCE_PROTOCOL, new String[] { n }), IMessageProvider.WARNING); } return false; } } } } } return true; } protected boolean validateXMLName(String xmlName) { String errorMessage = ValidateHelper.checkXMLName(xmlName); if (errorMessage == null || errorMessage.length() == 0) { return true; } setErrorMessage(errorMessage); return false; } protected boolean validateTargetNamespace(String ns) { boolean test = true; try { new URI(ns); // URI testURI = new URI(ns); // if (!testURI.isGenericURI()) // { // setErrorMessage(WSDLEditorPlugin.getInstance().getWSDLString("_UI_ERROR_NAMESPACE_INVALID")); //$NON-NLS-1$ // test = false; // } } catch (URISyntaxException e) { // String errorMessage = ValidateHelper.checkXMLName(ns); // if (errorMessage == null || errorMessage.length() == 0) // { // test = true; // } // else // { setErrorMessage(Messages._UI_ERROR_NAMESPACE_INVALID); //$NON-NLS-1$ test = false; // } } return test; } /* * private boolean arePrefixesUniqueAndValid() { java.util.List infoList = * namespaceInfo.getNamespaceInfoList(); java.util.List checkedList = * namespaceInfo.getNamespaceCheckedList(); * * Vector prefixList = new Vector(); boolean test = true; boolean isOneBlank = * false; * * String currentPrefix = prefixText.getText().trim(); if * (currentPrefix.length() == 0) { isOneBlank = true; } else { if * (validatePrefix(currentPrefix)) { prefixList.add(currentPrefix); } else { * setErrorMessage(WSDLEditorPlugin.getWSDLString("_UI_ERROR_PREFIX_IS_INVALID", * currentPrefix)); //$NON-NLS-1$ return false; } } * * for (int i = 0; i < infoList.size(); i++) { NamespaceInfo info = * (NamespaceInfo)infoList.get(i); if * (((String)checkedList.get(i)).equals("true")) //$NON-NLS-1$ { String * aPrefix = info.prefix.trim(); if (aPrefix.length() > 0) { if * (!prefixList.contains(aPrefix)) { if (validatePrefix(aPrefix)) { * prefixList.add(aPrefix); } else { * setErrorMessage(WSDLEditorPlugin.getWSDLString("_UI_ERROR_PREFIX_IS_INVALID", * info.prefix)); //$NON-NLS-1$ test = false; break; } } else { * setErrorMessage(WSDLEditorPlugin.getWSDLString("_UI_ERROR_PREFIX_IS_A_DUPLICATE", * info.prefix)); //$NON-NLS-1$ test = false; break; } } else { if * (!isOneBlank) { isOneBlank = true; } else { * setErrorMessage(WSDLEditorPlugin.getWSDLString("_UI_ERROR_MORE_THAN_ONE_PREFIX_IS_BLANK")); * //$NON-NLS-1$ test = false; break; } } } } return test; } */ protected DelayedEvent delayedTask; protected void startDelayedEvent(ModifyEvent e) { if (delayedTask == null || delayedTask.getEvent() == null) { delayedTask = new DelayedEvent(); delayedTask.setEvent(e); Display.getDefault().timerExec(500, delayedTask); } else { ModifyEvent delayedEvent = delayedTask.getEvent(); if (e.widget == delayedEvent.widget) { // same event, just different data, delay new event delayedTask.setEvent(null); } delayedTask = new DelayedEvent(); delayedTask.setEvent(e); Display.getDefault().timerExec(500, delayedTask); } } class DelayedEvent implements Runnable { protected ModifyEvent event; /* * @see Runnable#run() */ public void run() { if (event != null) { setPageComplete(validatePage()); event = null; } } public ModifyEvent getEvent() { return event; } public void setEvent(ModifyEvent event) { this.event = event; } } public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { if (e.widget == createSkeletonCheckBox) { if (createSkeletonCheckBox.getSelection()) { wsdlSkeletonGroup.setVisible(true); protocolPageBook.setVisible(true); } else { wsdlSkeletonGroup.setVisible(false); protocolPageBook.setVisible(false); } setPageComplete(validatePage()); } } Composite wsdlSkeletonGroup; Button createSkeletonCheckBox; private Label createLabel(Composite comp, String labelString) { Label label = new Label(comp, SWT.LEFT); label.setText(labelString); GridData nsData = new GridData(); nsData.horizontalAlignment = GridData.FILL; label.setLayoutData(nsData); return label; } public Vector getNamespaceInfo() { Vector namespaces = new Vector(); // Add Default Namespaces NamespaceInfo info1 = new NamespaceInfo(); info1.prefix = "wsdl"; //$NON-NLS-1$ info1.uri = "http://schemas.xmlsoap.org/wsdl/"; //$NON-NLS-1$ namespaces.addElement(info1); NamespaceInfo info8 = new NamespaceInfo(); info8.prefix = "xsd"; //$NON-NLS-1$ info8.uri = "http://www.w3.org/2001/XMLSchema"; //$NON-NLS-1$ namespaces.addElement(info8); return namespaces; } public boolean getCreateSkeletonBoolean() { return createSkeletonCheckBox.getSelection(); } public String getProtocol() { return protocolCombo.getText(); } public boolean isSoapDocLiteralProtocol() { // We need to revisit this.... Can we make this code more generic... // Wee need this method because the NewWSDLWizard needs to know if it should create the new // WSDL with a doc-literal pattern (A WSDL Part referencing an XSD Element) ContentGeneratorOptionsPage optionsPage = (ContentGeneratorOptionsPage) pageMap.get(getProtocol()); if (optionsPage instanceof ISoapStyleInfo) { return ((ISoapStyleInfo) optionsPage).isDocumentLiteralPattern(); } return false; } /** * Returns the project the current containing project * * @return IProject object. If path is <code>null</code> the return value is * also <code>null</code>. */ public IProject getProject() { IPath path = newFileCreationPage.getContainerFullPath(); IWorkspace workspace = ResourcesPlugin.getWorkspace(); IProject project = null; if (path != null) { if (workspace.validatePath(path.toString(), IResource.PROJECT).isOK()) { project = workspace.getRoot().getProject(path.toString()); } else { project = workspace.getRoot().getFile(path).getProject(); } } return project; } public IServicePolicy getServicePolicy() { return activeServicePolicy; } }