aboutsummaryrefslogtreecommitdiffstats
path: root/org.openembedded.bc.ui/src/org/openembedded/bc/ui/wizards/importProject/ImportOEProjectWizard.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.openembedded.bc.ui/src/org/openembedded/bc/ui/wizards/importProject/ImportOEProjectWizard.java')
-rw-r--r--org.openembedded.bc.ui/src/org/openembedded/bc/ui/wizards/importProject/ImportOEProjectWizard.java63
1 files changed, 63 insertions, 0 deletions
diff --git a/org.openembedded.bc.ui/src/org/openembedded/bc/ui/wizards/importProject/ImportOEProjectWizard.java b/org.openembedded.bc.ui/src/org/openembedded/bc/ui/wizards/importProject/ImportOEProjectWizard.java
new file mode 100644
index 0000000..b810fe7
--- /dev/null
+++ b/org.openembedded.bc.ui/src/org/openembedded/bc/ui/wizards/importProject/ImportOEProjectWizard.java
@@ -0,0 +1,63 @@
+package org.openembedded.bc.ui.wizards.importProject;
+
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IImportWizard;
+import org.eclipse.ui.IWorkbench;
+import org.openembedded.bc.ui.Activator;
+import org.openembedded.bc.ui.model.ProjectInfo;
+import org.openembedded.bc.ui.wizards.FiniteStateWizard;
+import org.openembedded.bc.ui.wizards.newproject.CreateBBCProjectOperation;
+
+
+public class ImportOEProjectWizard extends FiniteStateWizard implements IImportWizard {
+ protected final static String KEY_OEROOT = "OEROOT";
+ public static final String KEY_NAME = "NAME";
+ public static final String KEY_LOCATION = "LOCATION";
+ public static final String KEY_INITPATH = "INITPATH";
+ protected static final String KEY_PINFO = "PINFO";
+
+ private Map projectModel;
+ private IWorkbench workbench;
+ private IStructuredSelection selection;
+
+ public ImportOEProjectWizard() {
+ projectModel = new Hashtable();
+ }
+
+ public Map getModel() {
+ return projectModel;
+ }
+
+ @Override
+ public void addPages() {
+ addPage(new BBCProjectPage(projectModel));
+ addPage(new ConsolePage(projectModel));
+ }
+
+
+ public boolean performFinish() {
+ ProjectInfo pinfo = (ProjectInfo) projectModel.get(KEY_PINFO);
+ Activator.putProjInfo(pinfo.getRootPath(), pinfo);
+ try {
+ getContainer().run(false, false, new CreateBBCProjectOperation(pinfo));
+ } catch (Exception e) {
+ Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, e.getMessage(), e));
+ this.getContainer().getCurrentPage().setDescription("Failed to create project: " + e.getMessage());
+ return false;
+ }
+
+ return true;
+ }
+
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ this.workbench = workbench;
+ this.selection = selection;
+ this.setNeedsProgressMonitor(true);
+ setWindowTitle("BitBake Commander Project");
+ }
+}