diff options
Diffstat (limited to 'plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseAcceptanceDialog.java')
-rw-r--r-- | plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseAcceptanceDialog.java | 258 |
1 files changed, 0 insertions, 258 deletions
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseAcceptanceDialog.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseAcceptanceDialog.java deleted file mode 100644 index a26a25404..000000000 --- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseAcceptanceDialog.java +++ /dev/null @@ -1,258 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 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.wst.internet.cache.internal; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.Hashtable; - -import org.eclipse.jface.dialogs.IconAndMessageDialog; -import org.eclipse.swt.SWT; -import org.eclipse.swt.browser.Browser; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; - -/** - * A dialog that prompts the user to accept a license agreement. - */ -public class LicenseAcceptanceDialog extends IconAndMessageDialog -{ - /** - * Externalized string keys. - */ - private static final String _UI_CACHE_DIALOG_LICENSE_STATEMENT1 = "_UI_CACHE_DIALOG_LICENSE_STATEMENT1"; - private static final String _UI_CACHE_DIALOG_LICENSE_STATEMENT2 = "_UI_CACHE_DIALOG_LICENSE_STATEMENT2"; - private static final String _UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_INTERNAL = "_UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_INTERNAL"; - private static final String _UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_BROWSER = "_UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_BROWSER"; - private static final String _UI_CACHE_DIALOG_AGREE_BUTTON = "_UI_CACHE_DIALOG_AGREE_BUTTON"; - private static final String _UI_CACHE_DIALOG_DISAGREE_BUTTON = "_UI_CACHE_DIALOG_DISAGREE_BUTTON"; - private static final String _UI_CACHE_DIALOG_TITLE = "_UI_CACHE_DIALOG_TITLE"; - - /** - * Holds all the dialogs that are currently displayed keyed by the license URL. - */ - private static Hashtable dialogsInUse = new Hashtable(); - - /** - * The URL of the resource. - */ - private String url; - - /** - * The URL of the license. - */ - private String licenseURL; - - /** - * Constructor. - * - * @param parent The parent of this dialog. - * @param url The license URL. - */ - protected LicenseAcceptanceDialog(Shell parent, String url, String licenseURL) - { - super(parent); - this.url = url; - this.licenseURL = licenseURL; - } - - /** - * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell) - */ - protected void configureShell(Shell shell) - { - super.configureShell(shell); - shell.setText(CachePlugin.getResourceString(_UI_CACHE_DIALOG_TITLE)); - shell.setImage(null); - } - - /** - * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite) - */ - protected Control createButtonBar(Composite parent) - { - Composite buttonBar = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.numColumns = 0; - layout.makeColumnsEqualWidth = true; - buttonBar.setLayout(layout); - GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_CENTER); - buttonBar.setLayoutData(gd); - - // Create the agree button. - createButton(buttonBar, LicenseAcceptanceDialog.OK, - CachePlugin.getResourceString(_UI_CACHE_DIALOG_AGREE_BUTTON), false); - - // Create the disagree button. - createButton(buttonBar, LicenseAcceptanceDialog.CANCEL, - CachePlugin.getResourceString(_UI_CACHE_DIALOG_DISAGREE_BUTTON), false); - - return buttonBar; - } - - /** - * @see org.eclipse.jface.window.Window#createContents(org.eclipse.swt.widgets.Composite) - */ - protected Control createContents(Composite parent) - { - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - composite.setLayout(layout); - GridData gd = new GridData(SWT.FILL); - gd.widthHint = 500; - composite.setLayoutData(gd); - - // Display a statement about the license. - Label licenseText1 = new Label(composite, SWT.NONE); - licenseText1.setText(CachePlugin.getResourceString(_UI_CACHE_DIALOG_LICENSE_STATEMENT1)); - Label urlText = new Label(composite, SWT.WRAP); - gd = new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1); - urlText.setLayoutData(gd); - urlText.setText(url); - new Label(composite, SWT.NONE); // Spacing label. - Label licenseText2 = new Label(composite, SWT.WRAP); - gd = new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1); - licenseText2.setLayoutData(gd); - - // Display the license in a browser. - try - { - Browser browser = new Browser(composite, SWT.BORDER); - gd = new GridData(GridData.FILL_BOTH); - gd.heightHint = 400; - browser.setUrl(licenseURL); - browser.setLayoutData(gd); - licenseText2.setText(CachePlugin.getResourceString(_UI_CACHE_DIALOG_LICENSE_STATEMENT2)); - } - catch(Throwable e) - { - // The browser throws an exception on platforms that do not support it. - // In this case we need to create an external browser. - try - { - CachePlugin.getDefault().getWorkbench().getBrowserSupport().getExternalBrowser().openURL(new URL(licenseURL)); - licenseText2.setText(CachePlugin.getResourceString(_UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_INTERNAL)); - } - catch(Exception ex) - { - // In this case the license cannot be display. Inform the user of this and give them the license location. - licenseText2.setText(CachePlugin.getResourceString(_UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_BROWSER, licenseURL)); - } - } - - createButtonBar(composite); - - return composite; - } - - /** - * @see org.eclipse.jface.dialogs.IconAndMessageDialog#getImage() - */ - protected Image getImage() - { - return getInfoImage(); - } - - /** - * Prompt the user to accept the specified license. This method creates the - * dialog and returns the result. - * - * @param parent The parent of this dialog. - * @param url The URL of the resource for which the license must be accepted. - * @param licenseURL The license URL. - * @return True if the license is accepted, false otherwise. - */ - public static boolean promptForLicense(Shell parent, String url, String licenseURL) throws IOException - { - boolean agreedToLicense = false; - boolean newDialog = true; - LicenseAcceptanceDialog dialog = null; - // If the dialog is already displayed for this license use it instead of - // displaying another dialog. - if(dialogsInUse.containsKey(licenseURL)) - { - newDialog = false; - dialog = (LicenseAcceptanceDialog)dialogsInUse.get(licenseURL); - } - else - { - //BufferedReader bufreader = null; - InputStream is = null; -// StringBuffer source = new StringBuffer(); - try - { - URL urlObj = new URL(licenseURL); - is = urlObj.openStream(); -// if (urlObj != null) -// { -// bufreader = new BufferedReader(new InputStreamReader(urlObj.openStream())); -// -// if (bufreader != null) -// { -// while (bufreader.ready()) -// { -// source.append(bufreader.readLine()); -// } -// } -// } - dialog = new LicenseAcceptanceDialog(parent, url, licenseURL); - dialogsInUse.put(licenseURL, dialog); - dialog.setBlockOnOpen(true); - } - catch(Exception e) - { - throw new IOException("The license cannot be opened."); - } - finally - { -// if(bufreader != null) -// { -// bufreader.close(); -// } - if(is != null) - { - try - { - is.close(); - } - catch(IOException e) - { - // Do nothing. - } - } - } - } - if(dialog != null) - { - dialog.open(); - - if (dialog.getReturnCode() == LicenseAcceptanceDialog.OK) - { - agreedToLicense = true; - } - - if(newDialog) - { - dialogsInUse.remove(licenseURL); - } - } - - - - return agreedToLicense; - } -} |