Eclipseplugins
ImportWizard.java
1 package com.proalpha.pds.projconf.importwizards;
2 
3 import java.text.MessageFormat;
4 import java.util.List;
5 
6 import org.eclipse.core.runtime.jobs.Job;
7 import org.eclipse.jface.viewers.IStructuredSelection;
8 import org.eclipse.jface.wizard.Wizard;
9 import org.eclipse.ui.IImportWizard;
10 import org.eclipse.ui.IWorkbench;
11 import org.slf4j.Logger;
12 import org.slf4j.LoggerFactory;
13 
14 public class ImportWizard extends Wizard implements IImportWizard {
15 
16  private final Logger logger = LoggerFactory.getLogger(ImportWizard.class);
17  protected ImportPageOne one;
18 
19  public ImportWizard() {
20  super();
21  setNeedsProgressMonitor(true);
22  }
23 
24  @Override
25  public String getWindowTitle() {
26  return "Import DEMAS Installation";
27  }
28 
29  @Override
30  public void addPages() {
31  one = new ImportPageOne();
32  addPage(one);
33 
34  }
35 
36  /*
37  * (non-Javadoc)
38  *
39  * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench,
40  * org.eclipse.jface.viewers.IStructuredSelection)
41  */
42  public void init(IWorkbench workbench, IStructuredSelection selection) {
43  setWindowTitle("Import proALPHA Project"); // NON-NLS-1
44  setNeedsProgressMonitor(true);
45  // one = new WizardPage("Select Project",selection); //NON-NLS-1
46  }
47 
48  @Override
49  public boolean performFinish() {
50 
51  List<String> importProjects = one.getProjectFiles();
52 
53  if (logger.isDebugEnabled())
54  logger.debug(importProjects.toString());
55 
56  for (String project : importProjects) {
57  createProjectFromIniFile(project);
58  }
59  return true;
60  }
61 
62  private void createProjectFromIniFile(String demasfile) {
63  ReadDemasFile propertiesFile = new ReadDemasFile(demasfile);
64 
65  // Check if the file is a valid INI-file which contains all informations
66  if (!propertiesFile.isValidIni()) {
67  return;
68  }
69 
70  Job importProjectJob = new ImportProjectJob(
71  MessageFormat.format("Importing Project {0}", propertiesFile.getFullProjectName()), propertiesFile);
72  importProjectJob.setUser(true);
73  importProjectJob.schedule();
74 
75  }
76 }