]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.project/src/org/simantics/project/management/install/DefaultInstallAdvisor.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.project / src / org / simantics / project / management / install / DefaultInstallAdvisor.java
diff --git a/bundles/org.simantics.project/src/org/simantics/project/management/install/DefaultInstallAdvisor.java b/bundles/org.simantics.project/src/org/simantics/project/management/install/DefaultInstallAdvisor.java
new file mode 100644 (file)
index 0000000..a6167c6
--- /dev/null
@@ -0,0 +1,70 @@
+package org.simantics.project.management.install;\r
+\r
+import org.eclipse.core.runtime.IPath;\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.core.runtime.IStatus;\r
+import org.eclipse.equinox.internal.provisional.p2.installer.IInstallOperation;\r
+import org.eclipse.equinox.internal.provisional.p2.installer.InstallAdvisor;\r
+import org.eclipse.equinox.internal.provisional.p2.installer.InstallDescription;\r
+\r
+/**\r
+ * \r
+ * @author Marko Luukkainen <marko.luukkainen@vtt.fi>\r
+ *\r
+ */\r
+public class DefaultInstallAdvisor extends InstallAdvisor{\r
+       \r
+       private IProgressMonitor monitor = null;\r
+       \r
+       public DefaultInstallAdvisor() {\r
+       }\r
+       \r
+       public IProgressMonitor getMonitor() {\r
+               return monitor;\r
+       }\r
+       \r
+       public void setMonitor(IProgressMonitor monitor) {\r
+               this.monitor = monitor;\r
+       }\r
+       \r
+       @Override\r
+       public IStatus performInstall(IInstallOperation operation) {\r
+               return operation.install(getMonitor());\r
+       }\r
+       \r
+       @Override\r
+       public InstallDescription prepareInstallDescription(\r
+                       InstallDescription description) {\r
+               if (description.getInstallLocation() == null)\r
+                       throw new IllegalArgumentException("Install location is missing!");\r
+               IPath location = description.getInstallLocation();\r
+               description.setAgentLocation(location.append("p2")); //$NON-NLS-1$\r
+               \r
+               return description;\r
+       }\r
+       \r
+       @Override\r
+       public boolean promptForLaunch(InstallDescription description) {\r
+               return false;\r
+       }\r
+       \r
+       @Override\r
+       public void setResult(IStatus status) {\r
+               if (monitor != null) {\r
+                       monitor.done();\r
+               }\r
+       }\r
+       \r
+       @Override\r
+       public void start() {\r
+               \r
+       }\r
+       \r
+       @Override\r
+       public void stop() {\r
+               \r
+       }\r
+\r
+               \r
+\r
+}\r