Rename OSGi Boot to Argeo Init and introduce logging framework.
[lgpl/argeo-commons.git] / org.argeo.osgi.boot / src / org / argeo / osgi / boot / internal / springutil / Bootstrap.java
diff --git a/org.argeo.osgi.boot/src/org/argeo/osgi/boot/internal/springutil/Bootstrap.java b/org.argeo.osgi.boot/src/org/argeo/osgi/boot/internal/springutil/Bootstrap.java
deleted file mode 100644 (file)
index 2ac4562..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.argeo.osgi.boot.internal.springutil;
-
-import java.io.InputStream;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class Bootstrap {
-
-       public static void main(String[] args) {
-               try {
-                       String configurationArea = "file:" + System.getProperty("user.dir") + "/state";
-                       String instanceArea = "file:" + System.getProperty("user.dir") + "/data";
-                       String log4jUrl = "file:" + System.getProperty("user.dir") + "/log4j.properties";
-
-                       System.setProperty("org.osgi.service.http.port", "7070");
-                       System.setProperty("log4j.configuration", log4jUrl);
-
-                       System.setProperty("osgi.console", "2323");
-                       Map<String, String> props = new HashMap<String, String>();
-                       props.put("osgi.clean", "true");
-//                     props.put("osgi.console", "2323");
-                       props.put("osgi.configuration.area", configurationArea);
-                       props.put("osgi.instance.area", instanceArea);
-
-                       System.setProperty("argeo.osgi.start.2.node",
-                                       "org.eclipse.equinox.console,org.eclipse.equinox.http.servlet,org.eclipse.equinox.ds,"
-                                                       + "org.eclipse.equinox.metatype,org.eclipse.equinox.cm,org.eclipse.rap.rwt.osgi");
-                       System.setProperty("argeo.osgi.start.3.node", "org.argeo.cms");
-
-                       // URL osgiJar =
-                       // Bootstrap.class.getClassLoader().getResource("/usr/share/osgi/boot/org.eclipse.org.jar");
-                       URL osgiJar = new URL(
-                                       "file:///home/mbaudier/dev/git/apache2/argeo-commons/demo/exec/cms-e4-rap/backup/share/osgi/boot/org.eclipse.org.jar");
-                       URL osgiBootJar = new URL(
-                                       "file:///home/mbaudier/dev/git/apache2/argeo-commons/demo/exec/cms-e4-rap/backup/share/osgi/boot/org.argeo.osgi.boot.jar");
-                       URL[] jarUrls = { osgiJar };
-                       try (URLClassLoader urlCl = new URLClassLoader(jarUrls)) {
-
-                               // Class<?> factoryClass =
-                               // urlCl.loadClass("/org/eclipse/osgi/launch/EquinoxFactory");
-                               Class<?> factoryClass = urlCl.loadClass("org.eclipse.osgi.launch.EquinoxFactory");
-                               Class<?> frameworkClass = urlCl.loadClass("org.osgi.framework.launch.Framework");
-                               Class<?> bundleContextClass = urlCl.loadClass("org.osgi.framework.BundleContext");
-                               Class<?> bundleClass = urlCl.loadClass("org.osgi.framework.Bundle");
-
-                               Object factory = factoryClass.getConstructor().newInstance();
-                               Method newFrameworkMethod = factoryClass.getMethod("newFramework", Map.class);
-                               Object framework = newFrameworkMethod.invoke(factory, props);
-                               Method startFramework = frameworkClass.getMethod("start", new Class[] {});
-                               startFramework.invoke(framework);
-                               Method getBundleContext = frameworkClass.getMethod("getBundleContext", new Class[] {});
-                               Object bundleContext = getBundleContext.invoke(framework);
-                               Class<?>[] installArgs = { String.class, InputStream.class };
-                               Method install = bundleContextClass.getMethod("installBundle", installArgs);
-                               Method startBundle = bundleClass.getMethod("start");
-                               Method getSymbolicName = bundleClass.getMethod("getSymbolicName");
-
-                               Path basePath = Paths.get(
-                                               "/home/mbaudier/dev/git/apache2/argeo-commons/demo/exec/cms-e4-rap/backup/share/osgi/boot/");
-                               List<Object> bundles = new ArrayList<>();
-                               for (Path p : Files.newDirectoryStream(basePath)) {
-                                       try (InputStream in = Files.newInputStream(p)) {
-                                               Object bundle = install.invoke(bundleContext, "file:" + p, in);
-                                               bundles.add(bundle);
-                                               System.out.println("Installed " + bundle);
-                                       } catch (Exception e) {
-                                               if (!p.getFileName().toString().startsWith("org.eclipse.osgi")) {
-                                                       System.err.println(p);
-                                                       e.printStackTrace();
-                                               }
-                                       }
-                               }
-
-//                             for (Object bundle : bundles) {
-//                                     try {
-//                                             String symbolicName = getSymbolicName.invoke(bundle).toString();
-//                                             startBundle.invoke(bundle);
-//                                     } catch (Exception e) {
-//                                             // TODO Auto-generated catch block
-//                                             e.printStackTrace();
-//                                     }
-//                             }
-
-                               Object osgiBootBundle = install.invoke(bundleContext, osgiBootJar.toString(), osgiBootJar.openStream());
-                               startBundle.invoke(osgiBootBundle);
-                       }
-               } catch (Exception e) {
-                       e.printStackTrace();
-               }
-
-       }
-
-}