lttng: Add a common plugin for LTTng
[deliverable/tracecompass.git] / lttng / org.eclipse.tracecompass.lttng2.common.core.tests / src / org / eclipse / tracecompass / lttng2 / common / core / tests / Activator.java
diff --git a/lttng/org.eclipse.tracecompass.lttng2.common.core.tests/src/org/eclipse/tracecompass/lttng2/common/core/tests/Activator.java b/lttng/org.eclipse.tracecompass.lttng2.common.core.tests/src/org/eclipse/tracecompass/lttng2/common/core/tests/Activator.java
new file mode 100644 (file)
index 0000000..6c3a6a6
--- /dev/null
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * Copyright (c) 2016 École Polytechnique de Montréal
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.lttng2.common.core.tests;
+
+import java.io.IOException;
+import java.net.URL;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * Activator for the lttng2.common.core.tests plugin
+ *
+ * @author Geneviève Bastien
+ */
+public class Activator extends Plugin {
+    // ------------------------------------------------------------------------
+    // Attributes
+    // ------------------------------------------------------------------------
+
+    /**
+     * The plug-in ID
+     */
+    public static final String PLUGIN_ID = "org.eclipse.tracecompass.lttng2.common.core.tests"; //$NON-NLS-1$
+
+    /**
+     * The shared instance
+     */
+    private static Activator PLUGIN;
+
+    // ------------------------------------------------------------------------
+    // Constructors
+    // ------------------------------------------------------------------------
+
+    /**
+     * The constructor
+     */
+    public Activator() {
+    }
+
+    // ------------------------------------------------------------------------
+    // Accessors
+    // ------------------------------------------------------------------------
+
+    /**
+     * Returns the shared instance
+     *
+     * @return the shared instance
+     */
+    public static Activator getDefault() {
+        return PLUGIN;
+    }
+
+    // ------------------------------------------------------------------------
+    // Operators
+    // ------------------------------------------------------------------------
+
+    @Override
+    public void start(BundleContext context) throws Exception {
+        super.start(context);
+        PLUGIN = this;
+    }
+
+    @Override
+    public void stop(BundleContext context) throws Exception {
+        PLUGIN = null;
+        super.stop(context);
+    }
+
+    /**
+     * Return a path to a file relative to this plugin's base directory
+     *
+     * @param relativePath
+     *            The path relative to the plugin's root directory
+     * @return The path corresponding to the relative path in parameter
+     */
+    public static IPath getAbsoluteFilePath(String relativePath) {
+        Activator plugin = Activator.getDefault();
+        if (plugin == null) {
+            /*
+             * Shouldn't happen but at least throw something to get the test to
+             * fail early
+             */
+            throw new IllegalStateException();
+        }
+        URL location = FileLocator.find(plugin.getBundle(), new Path(relativePath), null);
+        try {
+            return new Path(FileLocator.toFileURL(location).getPath());
+        } catch (IOException e) {
+            throw new IllegalStateException();
+        }
+    }
+}
This page took 0.041228 seconds and 5 git commands to generate.