Package net.datacrow.console.wizards.itemexport

Source Code of net.datacrow.console.wizards.itemexport.ItemExporterSettingsPanel

package net.datacrow.console.wizards.itemexport;

import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.io.File;
import java.io.IOException;

import net.datacrow.console.ComponentFactory;
import net.datacrow.console.Layout;
import net.datacrow.console.components.DcFileField;
import net.datacrow.console.windows.reporting.ReportSettingsPanel;
import net.datacrow.console.wizards.WizardException;
import net.datacrow.core.resources.DcResources;
import net.datacrow.util.Utilities;
import net.datacrow.util.filefilters.DcFileFilter;

public class ItemExporterSettingsPanel extends ItemExporterWizardPanel {

    private DcFileField target = ComponentFactory.getFileField(true, false);
    private ReportSettingsPanel settingsPanel = new ReportSettingsPanel();
   
    public ItemExporterSettingsPanel(ItemExporterWizard wizard) {
        super(wizard);
        build();
    }
   
    @Override
    public Object apply() throws WizardException {

        if (target.getFile() == null || Utilities.isEmpty(target.getFilename()))
            throw new WizardException(DcResources.getText("msgNoFileSelected"));
       
        String filename = target.getFilename();
        filename = filename.endsWith(definition.getExporter().getFileType()) ? filename : filename + "." + definition.getExporter().getFileType();
       
        target.getFile().delete();
        File file = new File(filename);
       
        try {
            file.createNewFile();
       
            definition.setFile(file);
            settingsPanel.saveSettings(definition.getSettings(), false);
        } catch (IOException ie) {
            throw new WizardException(DcResources.getText("msgFileCannotBeUsed"));
        }
           
        return definition;
    }

    @Override
    public void onActivation() {
        if (definition != null && definition.getExporter() != null) {
            settingsPanel.applySettings(definition.getSettings());
            target.setFileFilter(new DcFileFilter(definition.getExporter().getFileType()));
            target.setFile(definition.getFile());
        }
    }

    @Override
    public String getHelpText() {
        return DcResources.getText("msgExportSettings");
    }

    private void build() {
        setLayout(Layout.getGBL());
        add(target,         Layout.getGBC( 0, 0, 1, 1, 1.0, 1.0
           ,GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL,
            new Insets( 0, 5, 5, 5), 0, 0));
        add(settingsPanel,  Layout.getGBC( 0, 1, 1, 1, 1.0, 1.0
                ,GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH,
                 new Insets( 5, 5, 5, 5), 0, 0));
    }
}
TOP

Related Classes of net.datacrow.console.wizards.itemexport.ItemExporterSettingsPanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.