Adapt to changes in Argeo TP
authorMathieu Baudier <mbaudier@argeo.org>
Wed, 26 Sep 2018 12:00:49 +0000 (14:00 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Wed, 26 Sep 2018 12:00:49 +0000 (14:00 +0200)
dep/org.argeo.dep.cms.e4.rap/pom.xml
dep/org.argeo.dep.cms.node/pom.xml
dep/org.argeo.dep.cms.platform/pom.xml
org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/AbstractRapE4App.java
org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java
org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java
org.argeo.cms/src/org/argeo/cms/internal/kernel/GogoShellKiller.java
org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelThread.java
org.argeo.node.api/src/org/argeo/node/NodeConstants.java
pom.xml

index ca2df6d486febaf2c2abd9be0c9d90ebc4d01df2..0d5b9d0de4ec9e5884bdd3134669196ee25aa786 100644 (file)
                </dependency>
                <dependency>
                        <groupId>org.argeo.tp.rap.e4</groupId>
-                       <artifactId>com.ibm.icu.base</artifactId>
+                       <artifactId>com.ibm.icu</artifactId>
                </dependency>
                <dependency>
                        <groupId>org.argeo.tp.rap.e4</groupId>
index 3385dc19b25ed0896bbf327be4ceae82cff3b802..556b481964c50d2e0fa0dc25f44267abb0a83edf 100644 (file)
                </dependency>
 
                <!-- CMS Dependencies -->
-               <dependency>
-                       <groupId>org.argeo.tp.javax</groupId>
-                       <artifactId>javax.transaction</artifactId>
-               </dependency>
                <!-- TODO: not bitronix dependent -->
                <dependency>
                        <groupId>org.argeo.tp.misc</groupId>
index 739da13df43c2cafcdea4499322fe766a1fc16af..61db9f435ddb221f49eb4b4b6ed597873bbf0854 100644 (file)
                </dependency>
                <dependency>
                        <groupId>org.argeo.tp.rap.platform</groupId>
-                       <artifactId>com.ibm.icu.base</artifactId>
+                       <artifactId>com.ibm.icu</artifactId>
                </dependency>
                <dependency>
                        <groupId>org.argeo.tp.rap.platform</groupId>
                        <groupId>org.argeo.tp.rap.platform</groupId>
                        <artifactId>org.eclipse.rap.ui.workbench</artifactId>
                </dependency>
-
-               <!-- Eclipse 4 -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.rap.e4</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.emf.common</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.emf.ecore.change</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.emf.ecore.xmi</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.ui.workbench.renderers.swt</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.ui.di</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.core.di</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.ui.workbench.addons.swt</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.core.commands</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.ui.bindings</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.ui.workbench.swt</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.core.di.extensions.supplier</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.ui.model.workbench</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.emf.xpath</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.core.contexts</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.core.services</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.core.di.annotations</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.ui.services</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.rap.fileupload</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.core.di.extensions</artifactId> -->
-               <!-- </dependency> -->
-               <!-- <dependency> -->
-               <!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
-               <!-- <artifactId>org.eclipse.e4.ui.workbench</artifactId> -->
-               <!-- </dependency> -->
-
        </dependencies>
        <dependencyManagement>
                <dependencies>
index 3c37c1cb1f45c5b9f789e7027ad969a135cb95bd..66c796b8359b291a261123e7bc98dac6071d71d2 100644 (file)
@@ -28,7 +28,7 @@ public abstract class AbstractRapE4App implements ApplicationConfiguration {
 
                Map<String, String> properties = new HashMap<String, String>();
                properties.put(WebClient.PAGE_TITLE, pageTitle);
-               E4ApplicationConfig config = new E4ApplicationConfig(e4Xmi, lifeCycleUri, null, false, true, true);
+               E4ApplicationConfig config = new E4ApplicationConfig(e4Xmi, lifeCycleUri, null, null, false, true, true);
                addEntryPoint(application, config, properties);
        }
 
index 67abe90fa65911006881752e476396e5ffa25246..3d8a389efd13bbe1b3c56765bc3e0aa192bc0db2 100644 (file)
@@ -192,8 +192,9 @@ public class CmsDeployment implements NodeDeployment {
        public void shutdown() {
                if (nodeHttp != null)
                        nodeHttp.destroy();
-               if (deployConfig != null)
-                       deployConfig.save();
+               if (deployConfig != null) {
+                       new Thread(() -> deployConfig.save(), "Save Argeo Deploy Config").start();
+               }
        }
 
        private void checkReadiness() {
index b72734f19122327e5aa5d8852c7af367dc16a8ab..0990181f2e1a2e43132030cd7a26e24f4f2184f0 100644 (file)
@@ -88,7 +88,8 @@ public class CmsState implements NodeState {
 
        private void initServices() {
                // JTA
-               String tmType = KernelUtils.getFrameworkProp(NodeConstants.TRANSACTION_MANAGER, NodeConstants.TRANSACTION_MANAGER_SIMPLE);
+               String tmType = KernelUtils.getFrameworkProp(NodeConstants.TRANSACTION_MANAGER,
+                               NodeConstants.TRANSACTION_MANAGER_SIMPLE);
                if (NodeConstants.TRANSACTION_MANAGER_SIMPLE.equals(tmType)) {
                        initSimpleTransactionManager();
                } else if (NodeConstants.TRANSACTION_MANAGER_BITRONIX.equals(tmType)) {
@@ -164,7 +165,9 @@ public class CmsState implements NodeState {
 
                if (kernelThread != null)
                        kernelThread.destroyAndJoin();
-               applyStopHooks();
+               // In a different state in order to avois interruptions
+               new Thread(() -> applyStopHooks(), "Apply Argeo Stop Hooks").start();
+               // applyStopHooks();
 
                long duration = ((System.currentTimeMillis() - availableSince) / 1000) / 60;
                log.info("## ARGEO CMS STOPPED after " + (duration / 60) + "h " + (duration % 60) + "min uptime ##");
index 940fc8d9fcb37d878335b01b5b2a55869f704f7f..39b11a531eff15bf6b0e3ef9b0c6b6cd2ca39d34 100644 (file)
@@ -55,7 +55,7 @@ class GogoShellKiller extends Thread {
                Thread[] threads = new Thread[rootThreadGroup.activeCount()];
                rootThreadGroup.enumerate(threads, true);
                for (Thread thread : threads) {
-                       if (thread.getName().equals("Gogo shell"))
+                       if (thread.getName().equals("pipe-gosh --login --noshutdown"))
                                return thread;
                }
                return null;
index 5ebf4055fb2dce6e6d66e0392b8ef223d519be4c..b2b51eb8a9b1b509b0562b80c07c5b520b16cd0f 100644 (file)
@@ -1,5 +1,6 @@
 package org.argeo.cms.internal.kernel;
 
+import java.awt.image.Kernel;
 import java.io.File;
 import java.lang.management.ManagementFactory;
 
@@ -7,7 +8,6 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.jackrabbit.api.stats.RepositoryStatistics;
 import org.apache.jackrabbit.stats.RepositoryStatisticsImpl;
-import org.argeo.cms.CmsException;
 import org.argeo.cms.internal.auth.CmsSessionImpl;
 
 /**
@@ -15,6 +15,8 @@ import org.argeo.cms.internal.auth.CmsSessionImpl;
  * monitor/control other processes.
  */
 class KernelThread extends Thread {
+       private final static Log log = LogFactory.getLog(KernelThread.class);
+
        private RepositoryStatisticsImpl repoStats;
 
        /** The smallest period of operation, in ms */
@@ -110,11 +112,12 @@ class KernelThread extends Thread {
        synchronized void destroyAndJoin() {
                running = false;
                notifyAll();
-               interrupt();
-               try {
-                       join(PERIOD * 2);
-               } catch (InterruptedException e) {
-                       throw new CmsException("Kernel thread destruction was interrupted");
-               }
+//             interrupt();
+//             try {
+//                     join(PERIOD * 2);
+//             } catch (InterruptedException e) {
+//                     // throw new CmsException("Kernel thread destruction was interrupted");
+//                     log.error("Kernel thread destruction was interrupted", e);
+//             }
        }
 }
index 36be492e9acdffd093cd7eedac53af53e48cd59c..cb87f30b4881e9660ad0d52b147426b1b03e0cfd 100644 (file)
@@ -39,6 +39,7 @@ public interface NodeConstants {
         * RESERVED ROLES
         */
        String ROLES_BASEDN = "ou=roles,ou=node";
+       String TOKENS_BASEDN = "ou=tokens,ou=node";
        String ROLE_ADMIN = "cn=admin," + ROLES_BASEDN;
        String ROLE_USER_ADMIN = "cn=userAdmin," + ROLES_BASEDN;
        String ROLE_DATA_ADMIN = "cn=dataAdmin," + ROLES_BASEDN;
@@ -85,6 +86,7 @@ public interface NodeConstants {
        String I18N_LOCALES = "argeo.i18n.locales";
        // Node Security
        String ROLES_URI = "argeo.node.roles.uri";
+       String TOKENS_URI = "argeo.node.tokens.uri";
        /** URI to an LDIF file or LDAP server used as initialization or backend */
        String USERADMIN_URIS = "argeo.node.useradmin.uris";
        // Transaction manager
diff --git a/pom.xml b/pom.xml
index 20a3075cba4b5dad04c932e083e0e648ce29956c..a049101544945f908d96a418d5f9f6daf245cd03 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
        <!-- <url>http://repo.argeo.org/data/docs/argeo-2.1/site/argeo-commons/</url> -->
        <properties>
                <version.argeo-commons>2.1.76-SNAPSHOT</version.argeo-commons>
-               <version.argeo-tp>2.1.20</version.argeo-tp>
+               <version.argeo-tp>2.1.21-SNAPSHOT</version.argeo-tp>
                <!-- RPM -->
                <argeo.rpm.release>7</argeo.rpm.release>
                <argeo.rpm.stagingRepository>/srv/rpmfactory/argeo-osgi-2/el7</argeo.rpm.stagingRepository>