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 '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.java345
1 files changed, 0 insertions, 345 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 d9bc3c1f9..000000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseAcceptanceDialog.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.internet.cache.internal;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.Hashtable;
-
-import org.eclipse.jface.dialogs.IconAndMessageDialog;
-import org.eclipse.jface.wizard.ProgressMonitorPart;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.browser.ProgressEvent;
-import org.eclipse.swt.browser.ProgressListener;
-import org.eclipse.swt.custom.StackLayout;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-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
-{
- /**
- * 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;
-
- /**
- * The agree button for the dialog.
- */
- private Button agreeButton = null;
-
- /**
- * 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(CacheMessages._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.
- agreeButton = createButton(buttonBar, LicenseAcceptanceDialog.OK,
- CacheMessages._UI_CACHE_DIALOG_AGREE_BUTTON, false);
- agreeButton.setEnabled(false);
-
- // Create the disagree button.
- createButton(buttonBar, LicenseAcceptanceDialog.CANCEL,
- CacheMessages._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(CacheMessages._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
- {
- final Composite licenseTextComposite = new Composite(composite, SWT.NONE);
- final StackLayout stackLayout = new StackLayout();
- licenseTextComposite.setLayout(stackLayout);
- gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- gd.heightHint = 400;
- licenseTextComposite.setLayoutData(gd);
- // Create the loading progress monitor composite and part.
- Composite monitorComposite = new Composite(licenseTextComposite, SWT.NONE);
- monitorComposite.setLayout(new GridLayout());
- gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- gd.heightHint = 400;
- monitorComposite.setLayoutData(gd);
- final ProgressMonitorPart monitor = new ProgressMonitorPart(monitorComposite, new GridLayout());
- gd = new GridData(SWT.FILL, SWT.BOTTOM, true, true);
- monitor.setLayoutData(gd);
- monitor.beginTask(CacheMessages._UI_LOADING_LICENSE, 100);
- stackLayout.topControl = monitorComposite;
- // Create the browser.
- final Browser browser = new Browser(licenseTextComposite, SWT.BORDER);
- gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- //gd.heightHint = 400;
-
- // It's important that the license URL is set even if we read
- // the contents of the license file ourselves (see below) as
- // otherwise the progress monitor will not be called on certain
- // linux systems with certain browsers.
- browser.setUrl(licenseURL);
-
- // The browser widget has problems loading files stored in jars
- // so we read from the jar and set the browser text ourselves.
- // See bug 154721.
- if(licenseURL.startsWith("jar:"))
- {
- InputStream licenseStream = null;
- InputStreamReader isreader = null;
- BufferedReader breader = null;
- try
- {
- URL browserURL = new URL(licenseURL);
- licenseStream = browserURL.openStream();
- isreader = new InputStreamReader(licenseStream);
- breader = new BufferedReader(isreader);
- String str;
- StringBuffer sb = new StringBuffer();
- while((str = breader.readLine())!=null){
- sb.append(str);
- }
- browser.setText(sb.toString());
- }
- finally
- {
- if(licenseStream != null)
- {
- licenseStream.close();
- }
- if(isreader != null)
- {
- isreader.close();
- }
- if(breader != null)
- {
- breader.close();
- }
- }
- }
-
- browser.setLayoutData(gd);
- browser.addProgressListener(new ProgressListener(){
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.browser.ProgressListener#changed(org.eclipse.swt.browser.ProgressEvent)
- */
- public void changed(ProgressEvent event)
- {
- if (event.total != 0)
- {
- monitor.internalWorked(event.current * 100 / event.total);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.browser.ProgressListener#completed(org.eclipse.swt.browser.ProgressEvent)
- */
- public void completed(ProgressEvent event)
- {
- monitor.done();
-
- stackLayout.topControl = browser;
- agreeButton.setEnabled(true);
- licenseTextComposite.layout();
- }
- });
-
- licenseText2.setText(CacheMessages._UI_CACHE_DIALOG_LICENSE_STATEMENT2);
- }
- catch(Exception 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(CacheMessages._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(MessageFormat.format(CacheMessages._UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_BROWSER, new Object[]{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
- {
- InputStream is = null;
-
- try
- {
- URL urlObj = new URL(licenseURL);
- is = urlObj.openStream();
-
- 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(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;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.dialogs.Dialog#close()
- */
- public boolean close()
- {
- if(agreeButton != null)
- {
- agreeButton.dispose();
- agreeButton = null;
- }
- return super.close();
- }
-
-}

Back to the top