]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.init/src/org/argeo/init/osgi/Activator.java
Rename OSGi Boot to Argeo Init and introduce logging framework.
[lgpl/argeo-commons.git] / org.argeo.init / src / org / argeo / init / osgi / Activator.java
diff --git a/org.argeo.init/src/org/argeo/init/osgi/Activator.java b/org.argeo.init/src/org/argeo/init/osgi/Activator.java
new file mode 100644 (file)
index 0000000..5a95270
--- /dev/null
@@ -0,0 +1,56 @@
+package org.argeo.init.osgi;
+
+import java.util.Enumeration;
+import java.util.ResourceBundle;
+import java.util.Vector;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+/**
+ * An OSGi configurator. See
+ * <a href="http://wiki.eclipse.org/Configurator">http:
+ * //wiki.eclipse.org/Configurator</a>
+ */
+public class Activator implements BundleActivator {
+       private Long checkpoint = null;
+
+       public void start(final BundleContext bundleContext) throws Exception {
+               // admin thread
+               Thread adminThread = new AdminThread(bundleContext);
+               adminThread.start();
+
+               // bootstrap
+               OsgiBoot osgiBoot = new OsgiBoot(bundleContext);
+               if (checkpoint == null) {
+                       osgiBoot.bootstrap();
+                       checkpoint = System.currentTimeMillis();
+               } else {
+                       osgiBoot.update();
+                       checkpoint = System.currentTimeMillis();
+               }
+       }
+
+       public void stop(BundleContext context) throws Exception {
+       }
+
+       class JournaldResourceBundle extends ResourceBundle {
+
+               @Override
+               protected Object handleGetObject(String key) {
+                       switch (key) {
+                       case "ERROR":
+                               return "<5>";
+                       }
+                       return null;
+               }
+
+               @Override
+               public Enumeration<String> getKeys() {
+                       Vector<String> keys = new Vector<>();
+                       keys.add("ERROR");
+                       return keys.elements();
+               }
+
+       }
+}