/**
* Դ�������ƣ�StandardFieldMergeImportWizard.java
* �������Ȩ���������ӹɷ�����˾ ��Ȩ����
* ϵͳ���ƣ�JRES Studio
* ģ�����ƣ�com.hundsun.ares.studio.jres.database.ui
* ����˵����$desc
* ����ĵ���
* ���ߣ�
*/
package com.hundsun.ares.studio.jres.database.ui.wizard;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IImportWizard;
import org.eclipse.ui.IWorkbench;
import com.hundsun.ares.studio.core.ARESCore;
import com.hundsun.ares.studio.core.IARESProject;
import com.hundsun.ares.studio.jres.database.pdm.PDMImportExecel;
import com.hundsun.ares.studio.jres.database.ui.pages.ImportStdMergeWizardPage;
/**
* @author yanwj06282
*
*/
public class StandardFieldMergeImportWizard extends Wizard implements
IImportWizard {
private IStructuredSelection selection;
private ImportStdMergeWizardPage page;
@Override
public void init(IWorkbench workbench, IStructuredSelection selection) {
this.selection = selection;
setWindowTitle("���������¼");
}
@Override
public void addPages() {
addPage(page = new ImportStdMergeWizardPage("", selection));
}
@Override
public boolean performFinish() {
Job job = new Job("�����¼����"){
@Override
protected IStatus run(IProgressMonitor monitor) {
File file = page.getExcelFile();
FileInputStream is = null;
if (file.exists()) {
try {
IARESProject project = ARESCore.create(page.getSelectedProject());
PDMImportExecel xlsImport = new PDMImportExecel();
xlsImport.importPDMExcel(project ,file.getPath(), monitor);
} catch (final Exception e1) {
e1.printStackTrace();
Display.getDefault().syncExec(new Runnable() {
@Override
public void run() {
MessageDialog.openError(getShell(), "�����¼����", e1.getMessage());
}
});
}finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
return Status.OK_STATUS;
}
};
job.setUser(true);
job.schedule();
return true;
}
}