--- /dev/null
+package org.simantics.fileimport;\r
+\r
+import java.io.IOException;\r
+import java.nio.file.Files;\r
+import java.nio.file.Path;\r
+import java.nio.file.Paths;\r
+\r
+import org.eclipse.core.runtime.IPath;\r
+import org.eclipse.core.runtime.Platform;\r
+import org.osgi.framework.BundleActivator;\r
+import org.osgi.framework.BundleContext;\r
+import org.simantics.fileimport.dropins.FileImportDropins;\r
+\r
+public class Activator implements BundleActivator {\r
+\r
+ private static BundleContext context;\r
+ \r
+ private static Path dropinsFolder = null;\r
+\r
+ static BundleContext getContext() {\r
+ return context;\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)\r
+ */\r
+ public void start(BundleContext bundleContext) throws Exception {\r
+ Activator.context = bundleContext;\r
+ FileImportDropins.watchDropinsFolder();\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)\r
+ */\r
+ public void stop(BundleContext bundleContext) throws Exception {\r
+ Activator.context = null;\r
+ FileImportDropins.unwatchDropinsFolder();\r
+ }\r
+ \r
+ public static Path getDropinsFolder() throws IOException {\r
+ if (dropinsFolder == null) {\r
+ IPath state = Platform.getStateLocation(context.getBundle());\r
+ dropinsFolder = Paths.get(state.append("dropins").toOSString());\r
+ if (!Files.exists(dropinsFolder))\r
+ Files.createDirectories(dropinsFolder);\r
+ }\r
+ return dropinsFolder;\r
+ }\r
+\r
+}\r