Refactor Argeo init
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 5 Mar 2024 09:16:03 +0000 (10:16 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 5 Mar 2024 09:16:03 +0000 (10:16 +0100)
org.argeo.slc.cms/src/org/argeo/slc/cms/deploy/osgi/OsgiCmsDeployment.java
org.argeo.slc.cms/src/org/argeo/slc/cms/distribution/A2Distribution.java
org.argeo.slc.cms/src/org/argeo/slc/cms/distribution/A2ModuleDistribution.java
org.argeo.slc.cms/src/org/argeo/slc/init/osgi/SlcInitActivator.java

index b385609d788d2b6bdd7bdb7ed69a540d7567954a..77d72faf74d564e23106bc364b91becac1a08bec 100644 (file)
@@ -12,11 +12,10 @@ import java.util.Map;
 import java.util.StringJoiner;
 import java.util.TreeMap;
 
+import org.argeo.api.a2.A2Source;
+import org.argeo.api.a2.FsA2Source;
+import org.argeo.api.init.InitConstants;
 import org.argeo.cms.CmsDeployProperty;
-import org.argeo.init.a2.A2Source;
-import org.argeo.init.a2.FsA2Source;
-import org.argeo.init.osgi.OsgiBoot;
-import org.argeo.init.osgi.OsgiRuntimeContext;
 import org.argeo.slc.WellKnownConstants;
 import org.argeo.slc.build.Distribution;
 import org.argeo.slc.cms.deploy.CmsDeployedSystem;
@@ -39,8 +38,6 @@ public class OsgiCmsDeployment implements Deployment {
 
        private CmsDeployedSystem deployedSystem;
 
-       private OsgiRuntimeContext runtimeContext;
-
        @Override
        public void run() {
                try {
@@ -51,7 +48,7 @@ public class OsgiCmsDeployment implements Deployment {
                        for (A2Source a2Source : distribution.getA2Sources()) {
                                sourcesProperty.add(a2Source.getUri().toString());
                        }
-                       config.put(OsgiBoot.PROP_ARGEO_OSGI_SOURCES, sourcesProperty.toString());
+                       config.put(InitConstants.PROP_ARGEO_OSGI_SOURCES, sourcesProperty.toString());
 
                        // target
                        config.put(WellKnownConstants.OSGI_INSTANCE_AREA,
@@ -73,7 +70,7 @@ public class OsgiCmsDeployment implements Deployment {
                                List<String> modules = deploymentData.getModulesToActivate(startLevel);
                                if (modules.size() != 0) {
                                        String startProperty = String.join(",", modules);
-                                       config.put(OsgiBoot.PROP_ARGEO_OSGI_START + "." + startLevel, startProperty);
+                                       config.put(InitConstants.PROP_ARGEO_OSGI_START + "." + startLevel, startProperty);
                                }
                        }
 
@@ -102,11 +99,12 @@ public class OsgiCmsDeployment implements Deployment {
                                logger.log(Level.TRACE, () -> key + "=" + config.get(key));
                        }
 
-                       runtimeContext = new OsgiRuntimeContext(config);
-                       runtimeContext.run();
+                       // FIXME use runtime manager
+//                     runtimeContext = new OsgiRuntimeContext(config);
+//                     runtimeContext.run();
 
-                       deployedSystem = new OsgiCmsDeployedSystem(runtimeContext.getFramework().getBundleContext(), distribution,
-                                       targetData, deploymentData);
+//                     deployedSystem = new OsgiCmsDeployedSystem(runtimeContext.getFramework().getBundleContext(), distribution,
+//                                     targetData, deploymentData);
 
                } catch (Exception e) {
                        throw new IllegalStateException("Cannot run OSGi deployment", e);
@@ -134,10 +132,6 @@ public class OsgiCmsDeployment implements Deployment {
                this.distribution = (A2Distribution) distribution;
        }
 
-       public OsgiRuntimeContext getRuntimeContext() {
-               return runtimeContext;
-       }
-
        public static void main(String[] args) {
                try {
                        Path userHome = Paths.get(System.getProperty("user.home"));
index 6c8bbe76c16088595669d4de4deea5f2c87f5583..435d2d6f5c29f86e807492461192994a55c96938 100644 (file)
@@ -4,11 +4,11 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
-import org.argeo.init.a2.A2Branch;
-import org.argeo.init.a2.A2Component;
-import org.argeo.init.a2.A2Contribution;
-import org.argeo.init.a2.A2Module;
-import org.argeo.init.a2.A2Source;
+import org.argeo.api.a2.A2Branch;
+import org.argeo.api.a2.A2Component;
+import org.argeo.api.a2.A2Contribution;
+import org.argeo.api.a2.A2Module;
+import org.argeo.api.a2.A2Source;
 import org.argeo.slc.CategoryNameVersion;
 import org.argeo.slc.DefaultCategoryNameVersion;
 import org.argeo.slc.NameVersion;
index cc7e68165a9964e5892ad2257378ec7e5cfb52e0..9e90bce8f23790f1574b4ede189f52f508635b11 100644 (file)
@@ -1,6 +1,6 @@
 package org.argeo.slc.cms.distribution;
 
-import org.argeo.init.a2.A2Module;
+import org.argeo.api.a2.A2Module;
 import org.argeo.slc.build.Distribution;
 
 public class A2ModuleDistribution implements Distribution {
index e8b43e75052575a0ce374db8375109435c7f330c..553cb7ea68d50f0f8d581e8e359e5d33dbe7cbe2 100644 (file)
@@ -1,12 +1,8 @@
 package org.argeo.slc.init.osgi;
 
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
 import org.argeo.api.cms.CmsLog;
+import org.argeo.api.init.RuntimeManager;
 import org.argeo.cms.CmsDeployProperty;
-import org.argeo.init.RuntimeManager;
-import org.argeo.init.osgi.OsgiBoot;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
@@ -19,7 +15,7 @@ public class SlcInitActivator implements BundleActivator {
 
        @Override
        public void start(BundleContext context) throws Exception {
-               Path userHome = Paths.get(System.getProperty("user.home"));
+//             Path userHome = Paths.get(System.getProperty("user.home"));
 //             OsgiCmsDeployment.main(new String[0]);
                runtimeManagerSt = new ServiceTracker<>(context, RuntimeManager.class, null) {
 
@@ -29,30 +25,33 @@ public class SlcInitActivator implements BundleActivator {
                                log.debug("Found runtime manager " + runtimeManager);
                                new Thread() {
                                        public void run() {
-                                               try {
-                                                       Thread.sleep(5000);
-                                               } catch (InterruptedException e) {
-                                                       return;
-                                               }
+//                                             try {
+//                                                     Thread.sleep(5000);
+//                                             } catch (InterruptedException e) {
+//                                                     return;
+//                                             }
 
-                                               runtimeManager.startRuntime("cms/test", (config) -> {
-                                                       config.put("osgi.clean", "true");
-                                                       // config.put("argeo.osgi.sources", "a2+reference:///?osgi=equinox");
-                                                       config.put("osgi.console", "2024");
+                                               runtimeManager.startRuntime("cms/test1", (config) -> {
+                                                       config.put("osgi.console", "host1:2023");
                                                        config.put(CmsDeployProperty.SSHD_PORT.getProperty(), "2222");
-//                                                     config.put(CmsDeployProperty.HTTP_PORT.getProperty(), "7070");
-//                                                     config.put(CmsDeployProperty.HOST.getProperty(),
-//                                                                     "localhost");
-                                                       Path instanceData = userHome
-                                                                       .resolve("dev/git/unstable/argeo-slc/sdk/exec/cms-deployment/data");
-                                                       config.put(OsgiBoot.PROP_OSGI_INSTANCE_AREA, instanceData.toUri().toString());
-                                                       config.put("argeo.directory", "dc=example,dc=com.ldif");
+                                                       config.put(CmsDeployProperty.HTTP_PORT.getProperty(), "7070");
+                                                       config.put(CmsDeployProperty.HOST.getProperty(), "host1");
+//                                                     Path instanceData = userHome
+//                                                                     .resolve("dev/git/unstable/argeo-slc/sdk/exec/cms-deployment/data");
+//                                                     config.put(OsgiBoot.PROP_OSGI_INSTANCE_AREA, instanceData.toUri().toString());
+//                                                     config.put("argeo.directory", "dc=example,dc=com.ldif");
 
 //                                                     for (String key : config.keySet()) {
 //                                                             System.out.println(key + "=" + config.get(key));
 ////                                                           log.debug(() -> key + "=" + config.get(key));
 //                                                     }
                                                });
+                                               runtimeManager.startRuntime("cms/test2", (config) -> {
+                                                       config.put("osgi.console", "host2:2023");
+                                                       config.put(CmsDeployProperty.SSHD_PORT.getProperty(), "2222");
+                                                       config.put(CmsDeployProperty.HTTP_PORT.getProperty(), "7070");
+                                                       config.put(CmsDeployProperty.HOST.getProperty(), "host2");
+                                               });
                                        }
                                }.start();
 
@@ -60,7 +59,7 @@ public class SlcInitActivator implements BundleActivator {
                        }
 
                };
-               runtimeManagerSt.open(true);
+               runtimeManagerSt.open(false);
        }
 
        @Override