// ============================================================================
//
// Copyright (C) 2006-2016 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.dataprofiler.core.license;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import org.apache.log4j.Logger;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.talend.core.ui.branding.IBrandingService;
import org.talend.dataprofiler.core.i18n.internal.DefaultMessagesImpl;
import org.talend.dataprofiler.core.service.GlobalServiceRegister;
/**
* Page for new project details. <br/>
*
*/
public class LicenseWizardPage extends WizardPage {
protected static Logger log = Logger.getLogger(LicenseWizardPage.class);
/** CLUF field. */
private Text clufText;
/**
* Constructs a new LicenseWizardPage.
*
* @param server
* @param password
* @param author
*/
public LicenseWizardPage() {
super("WizardPage"); //$NON-NLS-1$
setTitle(DefaultMessagesImpl.getString("LicenseWizardPage.license")); //$NON-NLS-1$
// setDescription(Messages.getString("LicenseWizard.description"));
}
/**
* @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
*/
public void createControl(Composite parent) {
((GridData) parent.getLayoutData()).widthHint = 520;
((GridData) parent.getLayoutData()).heightHint = 280;
Composite container = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout(1, false);
container.setLayout(layout);
Label subTitleLabel = new Label(container, SWT.NONE);
subTitleLabel.setText(DefaultMessagesImpl.getString("LicenseWizardPage.productLicense")); //$NON-NLS-1$
clufText = new Text(container, SWT.MULTI | SWT.WRAP | SWT.V_SCROLL | SWT.H_SCROLL | SWT.LEFT | SWT.BORDER);
clufText.setBackground(clufText.getDisplay().getSystemColor(SWT.COLOR_WHITE));
clufText.setEditable(false);
String license = getLicense();
clufText.setText(license);
GridData data = new GridData(GridData.FILL_BOTH);
clufText.setLayoutData(data);
setControl(container);
setPageComplete(true);
}
private String getLicense() {
String license = ""; //$NON-NLS-1$
BufferedReader in = null;
try {
IBrandingService brandingService = GlobalServiceRegister.getDefault().getBrandingService(IBrandingService.class);
final URL url = brandingService.getLicenseFile();
FileReader fileReader = new FileReader(new File(url.getPath()));
in = new BufferedReader(fileReader);
String licenseLine = ""; //$NON-NLS-1$
while ((licenseLine = in.readLine()) != null) {
license += licenseLine + "\n"; //$NON-NLS-1$
}
} catch (FileNotFoundException e) {
log.error(e, e);
} catch (IOException e) {
log.error(e, e);
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
log.error(e, e);
}
}
}
return license;
}
}