]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.fileimport/src/org/simantics/fileimport/Activator.java
Sync git svn branch with SVN repository r33144.
[simantics/platform.git] / bundles / org.simantics.fileimport / src / org / simantics / fileimport / Activator.java
diff --git a/bundles/org.simantics.fileimport/src/org/simantics/fileimport/Activator.java b/bundles/org.simantics.fileimport/src/org/simantics/fileimport/Activator.java
new file mode 100644 (file)
index 0000000..605e503
--- /dev/null
@@ -0,0 +1,52 @@
+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