28 import org.eclipse.core.runtime.jobs.MultiRule; |
28 import org.eclipse.core.runtime.jobs.MultiRule; |
29 import org.eclipse.jface.operation.IRunnableWithProgress; |
29 import org.eclipse.jface.operation.IRunnableWithProgress; |
30 import org.eclipse.jface.wizard.Wizard; |
30 import org.eclipse.jface.wizard.Wizard; |
31 import org.eclipse.ui.statushandlers.StatusManager; |
31 import org.eclipse.ui.statushandlers.StatusManager; |
32 import org.symbian.tools.tmw.core.TMWCore; |
32 import org.symbian.tools.tmw.core.TMWCore; |
33 import org.symbian.tools.tmw.core.projects.IMTWProject; |
33 import org.symbian.tools.tmw.core.projects.ITMWProject; |
34 import org.symbian.tools.tmw.core.runtimes.IPackager; |
34 import org.symbian.tools.tmw.core.runtimes.IPackager; |
35 import org.symbian.tools.tmw.internal.ui.deployment.DeployWizardContext; |
35 import org.symbian.tools.tmw.internal.ui.deployment.DeployWizardContext; |
36 import org.symbian.tools.tmw.internal.ui.deployment.DeploymentTargetWizardPage; |
36 import org.symbian.tools.tmw.internal.ui.deployment.DeploymentTargetWizardPage; |
37 import org.symbian.tools.tmw.internal.ui.deployment.DeploymentTargetWrapper; |
37 import org.symbian.tools.tmw.internal.ui.deployment.DeploymentTargetWrapper; |
38 import org.symbian.tools.tmw.ui.ProjectMemo; |
38 import org.symbian.tools.tmw.ui.ProjectMemo; |
39 import org.symbian.tools.tmw.ui.TMWCoreUI; |
39 import org.symbian.tools.tmw.ui.TMWCoreUI; |
40 |
40 |
41 public final class DeployWizard extends Wizard { |
41 public final class DeployWizard extends Wizard { |
42 private final DeployWizardContext context; |
42 private final DeployWizardContext context; |
43 private final IMTWProject project; |
43 private final ITMWProject project; |
44 |
44 |
45 public DeployWizard(IMTWProject project) { |
45 public DeployWizard(ITMWProject project) { |
46 this.project = project; |
46 this.project = project; |
47 setNeedsProgressMonitor(true); |
47 setNeedsProgressMonitor(true); |
48 setWindowTitle("Deploy Mobile Application"); |
48 setWindowTitle("Deploy Mobile Application"); |
49 context = new DeployWizardContext(project); |
49 context = new DeployWizardContext(project); |
50 } |
50 } |
89 @Override |
89 @Override |
90 public boolean needsPreviousAndNextButtons() { |
90 public boolean needsPreviousAndNextButtons() { |
91 return false; |
91 return false; |
92 } |
92 } |
93 |
93 |
94 private IStatus doDeploy(DeploymentTargetWrapper target, IMTWProject project, IProgressMonitor monitor) { |
94 private IStatus doDeploy(DeploymentTargetWrapper target, ITMWProject project, IProgressMonitor monitor) { |
95 IStatus status; |
95 IStatus status; |
96 try { |
96 try { |
97 IPackager packager = TMWCore.getRuntimesManager().getPackager(project); |
97 IPackager packager = TMWCore.getRuntimesManager().getPackager(project); |
98 status = target.deploy(project, packager, monitor); |
98 status = target.deploy(project, packager, monitor); |
99 } catch (CoreException e) { |
99 } catch (CoreException e) { |
104 return status; |
104 return status; |
105 } |
105 } |
106 |
106 |
107 private final class DeployJob extends Job { |
107 private final class DeployJob extends Job { |
108 private final DeploymentTargetWrapper target; |
108 private final DeploymentTargetWrapper target; |
109 private final IMTWProject project; |
109 private final ITMWProject project; |
110 |
110 |
111 private DeployJob(IMTWProject project, DeploymentTargetWrapper deploymentTarget) { |
111 private DeployJob(ITMWProject project, DeploymentTargetWrapper deploymentTarget) { |
112 super(String.format("Deploying %s to %s", project.getName(), deploymentTarget.getName())); |
112 super(String.format("Deploying %s to %s", project.getName(), deploymentTarget.getName())); |
113 ISchedulingRule rule = deploymentTarget.getType().getSchedulingRule(deploymentTarget.getActualTarget()); |
113 ISchedulingRule rule = deploymentTarget.getType().getSchedulingRule(deploymentTarget.getActualTarget()); |
114 if (rule != null) { |
114 if (rule != null) { |
115 rule = MultiRule.combine(rule, project.getProject()); |
115 rule = MultiRule.combine(rule, project.getProject()); |
116 } else { |
116 } else { |