Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/**
* DataCleaner (community edition)
* Copyright (C) 2014 Neopost - Customer Information Management
*
* This copyrighted material is made available to anyone wishing to use, modify,
* copy, or redistribute it subject to the terms and conditions of the GNU
* Lesser General Public License, as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this distribution; if not, write to:
* Free Software Foundation, Inc.
* 51 Franklin Street, Fifth Floor
* Boston, MA 02110-1301 USA
*/
package org.datacleaner.windows;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JToolBar;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EmptyBorder;
import org.apache.metamodel.DataContext;
import org.apache.metamodel.DataContextFactory;
import org.apache.metamodel.data.DataSet;
import org.apache.metamodel.data.Row;
import org.apache.metamodel.query.Query;
import org.apache.metamodel.schema.Column;
import org.apache.metamodel.schema.Table;
import org.apache.metamodel.util.FileHelper;
import org.datacleaner.Version;
import org.datacleaner.bootstrap.DCWindowContext;
import org.datacleaner.bootstrap.WindowContext;
import org.datacleaner.panels.DCPanel;
import org.datacleaner.util.IconUtils;
import org.datacleaner.util.ImageManager;
import org.datacleaner.util.ResourceManager;
import org.datacleaner.util.StringUtils;
import org.datacleaner.util.WidgetFactory;
import org.datacleaner.util.WidgetUtils;
import org.datacleaner.widgets.DCLabel;
import org.datacleaner.widgets.DCListCellRenderer;
import org.datacleaner.widgets.NeopostToolbarButton;
import org.datacleaner.widgets.tabs.CloseableTabbedPane;
import org.jdesktop.swingx.HorizontalLayout;
import org.jdesktop.swingx.VerticalLayout;
import org.jdesktop.swingx.action.OpenBrowserAction;
/**
* The "About" dialog of the DataCleaner application.
*/
public class AboutDialog extends AbstractDialog {
private static final long serialVersionUID = 1L;
public static class LicensedProject {
public String name;
public String websiteUrl;
public String license;
}
private static final ResourceManager resourceManager = ResourceManager.get();
private static final ImageManager imageManager = ImageManager.get();
public AboutDialog(WindowContext windowContext) {
super(windowContext);
}
@Override
public void toFront() {
super.toFront();
}
@Override
protected String getBannerTitle() {
return "About DataCleaner";
}
@Override
protected int getDialogWidth() {
return 600;
}
@Override
protected boolean isWindowResizable() {
return true;
}
@Override
protected JComponent getDialogContent() {
CloseableTabbedPane tabbedPane = new CloseableTabbedPane(true);
tabbedPane.addTab("About DataCleaner",
imageManager.getImageIcon(IconUtils.APPLICATION_ICON, IconUtils.ICON_SIZE_LARGE), getAboutPanel(),
"About DataCleaner");
tabbedPane.setUnclosableTab(0);
tabbedPane.addTab("Licensing", imageManager.getImageIcon("images/menu/license.png"), getLicensingPanel(),
"Licensing");
tabbedPane.setUnclosableTab(1);
tabbedPane.setPreferredSize(new Dimension(getDialogWidth(), 500));
return tabbedPane;
}
private JComponent getLicensingPanel() {
final String dcLicense = getLicense("lgpl");
final DCLabel licenseHeader = DCLabel.dark("");
licenseHeader.setFont(WidgetUtils.FONT_HEADER1);
final DCLabel licenseLabel = DCLabel.darkMultiLine("");
licenseLabel.setBackground(WidgetUtils.BG_COLOR_BRIGHTEST);
licenseLabel.setFont(WidgetUtils.FONT_MONOSPACE);
licenseLabel.setOpaque(true);
final JButton dcLicenseButton = WidgetFactory.createSmallButton("images/menu/license.png");
dcLicenseButton.setToolTipText("DataCleaner's license: GNU LGPL");
dcLicenseButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
licenseHeader.setText("Displaying license of DataCleaner");
licenseLabel.setText(dcLicense);
}
});
final JComboBox