1 package org.simantics.project.management.install;
3 import org.eclipse.core.runtime.IPath;
4 import org.eclipse.core.runtime.IProgressMonitor;
5 import org.eclipse.core.runtime.IStatus;
6 import org.eclipse.equinox.internal.provisional.p2.installer.IInstallOperation;
7 import org.eclipse.equinox.internal.provisional.p2.installer.InstallAdvisor;
8 import org.eclipse.equinox.internal.provisional.p2.installer.InstallDescription;
12 * @author Marko Luukkainen <marko.luukkainen@vtt.fi>
15 public class DefaultInstallAdvisor extends InstallAdvisor{
17 private IProgressMonitor monitor = null;
19 public DefaultInstallAdvisor() {
22 public IProgressMonitor getMonitor() {
26 public void setMonitor(IProgressMonitor monitor) {
27 this.monitor = monitor;
31 public IStatus performInstall(IInstallOperation operation) {
32 return operation.install(getMonitor());
36 public InstallDescription prepareInstallDescription(
37 InstallDescription description) {
38 if (description.getInstallLocation() == null)
39 throw new IllegalArgumentException("Install location is missing!");
40 IPath location = description.getInstallLocation();
41 description.setAgentLocation(location.append("p2")); //$NON-NLS-1$
47 public boolean promptForLaunch(InstallDescription description) {
52 public void setResult(IStatus status) {
53 if (monitor != null) {