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.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javadocexport/JavadocWizard.java')
-rw-r--r--bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javadocexport/JavadocWizard.java456
1 files changed, 0 insertions, 456 deletions
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javadocexport/JavadocWizard.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javadocexport/JavadocWizard.java
deleted file mode 100644
index 397a780a..00000000
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javadocexport/JavadocWizard.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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
- * Sebastian Davids <sdavids@gmx.de> bug 38692
- *******************************************************************************/
-package org.eclipse.wst.jsdt.internal.ui.javadocexport;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.Launch;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IExportWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.jsdt.core.IJavaScriptElement;
-import org.eclipse.wst.jsdt.core.IJavaScriptProject;
-import org.eclipse.wst.jsdt.internal.corext.util.Messages;
-import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin;
-import org.eclipse.wst.jsdt.internal.ui.JavaPluginImages;
-import org.eclipse.wst.jsdt.internal.ui.actions.OpenBrowserUtil;
-import org.eclipse.wst.jsdt.internal.ui.dialogs.OptionalMessageDialog;
-import org.eclipse.wst.jsdt.internal.ui.javaeditor.EditorUtility;
-import org.eclipse.wst.jsdt.internal.ui.refactoring.RefactoringSaveHelper;
-import org.eclipse.wst.jsdt.internal.ui.util.ExceptionHandler;
-import org.eclipse.wst.jsdt.internal.ui.util.PixelConverter;
-import org.eclipse.wst.jsdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.wst.jsdt.ui.JavaScriptUI;
-
-public class JavadocWizard extends Wizard implements IExportWizard {
-
- private JavadocTreeWizardPage fJTWPage;
- private JavadocSpecificsWizardPage fJSWPage;
- private JavadocStandardWizardPage fJSpWPage;
-
- private IPath fDestination;
-
- private boolean fWriteCustom;
- private boolean fOpenInBrowser;
-
- private final String TREE_PAGE_DESC= "JavadocTreePage"; //$NON-NLS-1$
- private final String SPECIFICS_PAGE_DESC= "JavadocSpecificsPage"; //$NON-NLS-1$
- private final String STANDARD_PAGE_DESC= "JavadocStandardPage"; //$NON-NLS-1$
-
- private final int YES= 0;
- private final int YES_TO_ALL= 1;
- private final int NO= 2;
- private final int NO_TO_ALL= 3;
- private final String JAVADOC_ANT_INFORMATION_DIALOG= "javadocAntInformationDialog";//$NON-NLS-1$
-
-
- private JavadocOptionsManager fStore;
- private IWorkspaceRoot fRoot;
-
- private IFile fXmlJavadocFile;
-
- private static final String ID_JAVADOC_PROCESS_TYPE= "org.eclipse.wst.jsdt.ui.javadocProcess"; //$NON-NLS-1$
-
- public static void openJavadocWizard(JavadocWizard wizard, Shell shell, IStructuredSelection selection ) {
- wizard.init(PlatformUI.getWorkbench(), selection);
-
- WizardDialog dialog= new WizardDialog(shell, wizard);
- PixelConverter converter= new PixelConverter(JFaceResources.getDialogFont());
- dialog.setMinimumPageSize(converter.convertWidthInCharsToPixels(100), converter.convertHeightInCharsToPixels(20));
- dialog.open();
- }
-
-
- public JavadocWizard() {
- this(null);
- }
-
- public JavadocWizard(IFile xmlJavadocFile) {
- super();
- setDefaultPageImageDescriptor(JavaPluginImages.DESC_WIZBAN_EXPORT_JAVADOC);
- setWindowTitle(JavadocExportMessages.JavadocWizard_javadocwizard_title);
-
- setDialogSettings(JavaScriptPlugin.getDefault().getDialogSettings());
-
- fRoot= ResourcesPlugin.getWorkspace().getRoot();
- fXmlJavadocFile= xmlJavadocFile;
-
- fWriteCustom= false;
- }
-
- /*
- * @see IWizard#performFinish()
- */
- public boolean performFinish() {
-
- IJavaScriptProject[] checkedProjects= fJTWPage.getCheckedProjects();
- updateStore(checkedProjects);
-
- fStore.updateDialogSettings(getDialogSettings(), checkedProjects);
-
- // Wizard should not run with dirty editors
- if (!new RefactoringSaveHelper(RefactoringSaveHelper.SAVE_ALL_ALWAYS_ASK).saveEditors(getShell())) {
- return false;
- }
-
- fDestination= Path.fromOSString(fStore.getDestination());
- fDestination.toFile().mkdirs();
-
- fOpenInBrowser= fStore.doOpenInBrowser();
-
- //Ask if you wish to set the javadoc location for the projects (all) to
- //the location of the newly generated javadoc
- if (fStore.isFromStandard()) {
- try {
-
- URL newURL= fDestination.toFile().toURL();
- List projs= new ArrayList();
- //get javadoc locations for all projects
- for (int i= 0; i < checkedProjects.length; i++) {
- IJavaScriptProject curr= checkedProjects[i];
- URL currURL= JavaScriptUI.getProjectJSdocLocation(curr);
- if (!newURL.equals(currURL)) { // currURL can be null
- //if not all projects have the same javadoc location ask if you want to change
- //them to have the same javadoc location
- projs.add(curr);
- }
- }
- if (!projs.isEmpty()) {
- setAllJavadocLocations((IJavaScriptProject[]) projs.toArray(new IJavaScriptProject[projs.size()]), newURL);
- }
- } catch (MalformedURLException e) {
- JavaScriptPlugin.log(e);
- }
- }
-
- if (fJSWPage.generateAnt()) {
- //@Improve: make a better message
- OptionalMessageDialog.open(JAVADOC_ANT_INFORMATION_DIALOG, getShell(), JavadocExportMessages.JavadocWizard_antInformationDialog_title, null, JavadocExportMessages.JavadocWizard_antInformationDialog_message, MessageDialog.INFORMATION, new String[] { IDialogConstants.OK_LABEL }, 0);
- try {
- File file= fStore.createXML(checkedProjects);
- if (file != null) {
- IFile[] files= fRoot.findFilesForLocation(Path.fromOSString(file.getPath()));
- if (files != null) {
- for (int i= 0; i < files.length; i++) {
- files[i].refreshLocal(IResource.DEPTH_ONE, null);
- }
- }
- }
-
- } catch (CoreException e) {
- ExceptionHandler.handle(e, getShell(),JavadocExportMessages.JavadocWizard_error_writeANT_title, JavadocExportMessages.JavadocWizard_error_writeANT_message);
- }
- }
-
- if (!executeJavadocGeneration())
- return false;
-
- return true;
- }
-
- private void updateStore(IJavaScriptProject[] checkedProjects) {
- //writes the new settings to store
- fJTWPage.updateStore(checkedProjects);
- if (!fJTWPage.getCustom())
- fJSpWPage.updateStore();
- fJSWPage.updateStore();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.wizard.IWizard#performCancel()
- */
- public boolean performCancel() {
-
- IJavaScriptProject[] checkedProjects= fJTWPage.getCheckedProjects();
- updateStore(checkedProjects);
-
- //If the wizard was not launched from an ant file store the settings
- if (fXmlJavadocFile == null) {
- fStore.updateDialogSettings(getDialogSettings(), checkedProjects);
- }
- return super.performCancel();
- }
-
- private void setAllJavadocLocations(IJavaScriptProject[] projects, URL newURL) {
- Shell shell= getShell();
- String[] buttonlabels= new String[] { IDialogConstants.YES_LABEL, IDialogConstants.YES_TO_ALL_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.NO_TO_ALL_LABEL };
-
- for (int j= 0; j < projects.length; j++) {
- IJavaScriptProject iJavaProject= projects[j];
- String message= Messages.format(JavadocExportMessages.JavadocWizard_updatejavadoclocation_message, new String[] { iJavaProject.getElementName(), fDestination.toOSString()});
- MessageDialog dialog= new MessageDialog(shell, JavadocExportMessages.JavadocWizard_updatejavadocdialog_label, null, message, MessageDialog.QUESTION, buttonlabels, 1);
-
- switch (dialog.open()) {
- case YES :
- JavaScriptUI.setProjectJSdocLocation(iJavaProject, newURL);
- break;
- case YES_TO_ALL :
- for (int i= j; i < projects.length; i++) {
- iJavaProject= projects[i];
- JavaScriptUI.setProjectJSdocLocation(iJavaProject, newURL);
- j++;
- }
- break;
- case NO_TO_ALL :
- j= projects.length;
- break;
- case NO :
- default :
- break;
- }
- }
- }
-
- private boolean executeJavadocGeneration() {
- Process process= null;
- try {
- ArrayList vmArgs= new ArrayList();
- ArrayList progArgs= new ArrayList();
-
- IStatus status= fStore.getArgumentArray(vmArgs, progArgs);
- if (!status.isOK()) {
- ErrorDialog.openError(getShell(), JavadocExportMessages.JavadocWizard_error_title, JavadocExportMessages.JavadocWizard_warning_starting_message, status);
- }
-
- File file= File.createTempFile("javadoc-arguments", ".tmp"); //$NON-NLS-1$//$NON-NLS-2$
- vmArgs.add('@' + file.getAbsolutePath());
-
- FileWriter writer= new FileWriter(file);
- try {
- for (int i= 0; i < progArgs.size(); i++) {
- String curr= (String) progArgs.get(i);
- curr= checkForSpaces(curr);
-
- writer.write(curr);
- writer.write(' ');
- }
- } finally {
- writer.close();
- }
-
- String[] args= (String[]) vmArgs.toArray(new String[vmArgs.size()]);
- process= Runtime.getRuntime().exec(args);
- if (process != null) {
- // construct a formatted command line for the process properties
- StringBuffer buf= new StringBuffer();
- for (int i= 0; i < args.length; i++) {
- buf.append(args[i]);
- buf.append(' ');
- }
-
- IDebugEventSetListener listener= new JavadocDebugEventListener(getShell().getDisplay(), file);
- DebugPlugin.getDefault().addDebugEventListener(listener);
-
- ILaunchConfigurationWorkingCopy wc= null;
- try {
- ILaunchConfigurationType lcType= DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION);
- String name= JavadocExportMessages.JavadocWizard_launchconfig_name;
- wc= lcType.newInstance(null, name);
- wc.setAttribute(IDebugUIConstants.ATTR_PRIVATE, true);
-
- ILaunch newLaunch= new Launch(wc, ILaunchManager.RUN_MODE, null);
- IProcess iprocess= DebugPlugin.newProcess(newLaunch, process, JavadocExportMessages.JavadocWizard_javadocprocess_label);
- iprocess.setAttribute(IProcess.ATTR_CMDLINE, buf.toString());
- iprocess.setAttribute(IProcess.ATTR_PROCESS_TYPE, ID_JAVADOC_PROCESS_TYPE);
-
- DebugPlugin.getDefault().getLaunchManager().addLaunch(newLaunch);
-
- } catch (CoreException e) {
- String title= JavadocExportMessages.JavadocWizard_error_title;
- String message= JavadocExportMessages.JavadocWizard_launch_error_message;
- ExceptionHandler.handle(e, getShell(), title, message);
- }
-
- return true;
-
- }
- } catch (IOException e) {
- String title= JavadocExportMessages.JavadocWizard_error_title;
- String message= JavadocExportMessages.JavadocWizard_exec_error_message;
-
- IStatus status= new Status(IStatus.ERROR, JavaScriptUI.ID_PLUGIN, IStatus.ERROR, e.getMessage(), e);
- ExceptionHandler.handle(new CoreException(status), getShell(), title, message);
- return false;
- }
- return false;
-
- }
-
- private String checkForSpaces(String curr) {
- if (curr.indexOf(' ') == -1) {
- return curr;
- }
- StringBuffer buf= new StringBuffer();
- buf.append('\'');
- for (int i= 0; i < curr.length(); i++) {
- char ch= curr.charAt(i);
- if (ch == '\\' || ch == '\'') {
- buf.append('\\');
- }
- buf.append(ch);
- }
- buf.append('\'');
- return buf.toString();
- }
-
- /*
- * @see IWizard#addPages()
- */
- public void addPages() {
-
- fJTWPage= new JavadocTreeWizardPage(TREE_PAGE_DESC, fStore);
- fJSWPage= new JavadocSpecificsWizardPage(SPECIFICS_PAGE_DESC, fJTWPage, fStore);
- fJSpWPage= new JavadocStandardWizardPage(STANDARD_PAGE_DESC, fJTWPage, fStore);
-
- super.addPage(fJTWPage);
- super.addPage(fJSpWPage);
- super.addPage(fJSWPage);
-
- fJTWPage.init();
- fJSpWPage.init();
- fJSWPage.init();
-
- }
-
- public void init(IWorkbench workbench, IStructuredSelection structuredSelection) {
- IWorkbenchWindow window= workbench.getActiveWorkbenchWindow();
- List selected= Collections.EMPTY_LIST;
- if (window != null) {
- ISelection selection= window.getSelectionService().getSelection();
- if (selection instanceof IStructuredSelection) {
- selected= ((IStructuredSelection) selection).toList();
- } else {
- IJavaScriptElement element= EditorUtility.getActiveEditorJavaInput();
- if (element != null) {
- selected= new ArrayList();
- selected.add(element);
- }
- }
- }
- fStore= new JavadocOptionsManager(fXmlJavadocFile, getDialogSettings(), selected);
- }
-
- private void refresh(IPath path) {
- if (fRoot.findContainersForLocation(path).length > 0) {
- try {
- fRoot.refreshLocal(IResource.DEPTH_INFINITE, null);
- } catch (CoreException e) {
- JavaScriptPlugin.log(e);
- }
- }
- }
-
- private void spawnInBrowser(Display display) {
- if (fOpenInBrowser) {
- try {
- IPath indexFile= fDestination.append("index.html"); //$NON-NLS-1$
- URL url= indexFile.toFile().toURL();
- OpenBrowserUtil.open(url, display, getWindowTitle());
- } catch (MalformedURLException e) {
- JavaScriptPlugin.log(e);
- }
- }
- }
-
- private class JavadocDebugEventListener implements IDebugEventSetListener {
- private Display fDisplay;
- private File fFile;
-
- public JavadocDebugEventListener(Display display, File file) {
- fDisplay= display;
- fFile= file;
- }
-
- public void handleDebugEvents(DebugEvent[] events) {
- for (int i= 0; i < events.length; i++) {
- if (events[i].getKind() == DebugEvent.TERMINATE) {
- try {
- if (!fWriteCustom) {
- fFile.delete();
- refresh(fDestination); //If destination of javadoc is in workspace then refresh workspace
- spawnInBrowser(fDisplay);
- }
- } finally {
- DebugPlugin.getDefault().removeDebugEventListener(this);
- }
- return;
- }
- }
- }
- }
-
- public IWizardPage getNextPage(IWizardPage page) {
- if (page instanceof JavadocTreeWizardPage) {
- if (!fJTWPage.getCustom()) {
- return fJSpWPage;
- }
- return fJSWPage;
- } else if (page instanceof JavadocSpecificsWizardPage) {
- return null;
- } else if (page instanceof JavadocStandardWizardPage)
- return fJSWPage;
- else
- return null;
- }
-
- public IWizardPage getPreviousPage(IWizardPage page) {
- if (page instanceof JavadocSpecificsWizardPage) {
- if (!fJTWPage.getCustom()) {
- return fJSpWPage;
- }
- return fJSWPage;
- } else if (page instanceof JavadocTreeWizardPage) {
- return null;
- } else if (page instanceof JavadocStandardWizardPage)
- return fJTWPage;
- else
- return null;
- }
-
-}

Back to the top