]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java
Work on CMS FS provider
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / kernel / CmsState.java
index b72734f19122327e5aa5d8852c7af367dc16a8ab..789312625c54219f66d24af46281dfeb1740e36d 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)) {
@@ -97,6 +98,20 @@ public class CmsState implements NodeState {
                        throw new CmsException("Usupported transaction manager type " + tmType);
                }
 
+               // POI
+//             POIXMLTypeLoader.setClassLoader(CTConnection.class.getClassLoader());
+
+               // Tika
+//             OpenDocumentParser odfParser = new OpenDocumentParser();
+//             bc.registerService(Parser.class, odfParser, new Hashtable());
+//             PDFParser pdfParser = new PDFParser();
+//             bc.registerService(Parser.class, pdfParser, new Hashtable());
+//             OOXMLParser ooxmlParser = new OOXMLParser();
+//             bc.registerService(Parser.class, ooxmlParser, new Hashtable());
+//             TesseractOCRParser ocrParser = new TesseractOCRParser();
+//             ocrParser.setLanguage("ara");
+//             bc.registerService(Parser.class, ocrParser, new Hashtable());
+
                // JCR
                RepositoryServiceFactory repositoryServiceFactory = new RepositoryServiceFactory();
                stopHooks.add(() -> repositoryServiceFactory.shutdown());
@@ -114,6 +129,16 @@ public class CmsState implements NodeState {
 
                // File System
                CmsFsProvider cmsFsProvider = new CmsFsProvider();
+//             ServiceLoader<FileSystemProvider> fspSl = ServiceLoader.load(FileSystemProvider.class);
+//             for (FileSystemProvider fsp : fspSl) {
+//                     log.debug("FileSystemProvider " + fsp);
+//                     if (fsp instanceof CmsFsProvider) {
+//                             cmsFsProvider = (CmsFsProvider) fsp;
+//                     }
+//             }
+//             for (FileSystemProvider fsp : FileSystemProvider.installedProviders()) {
+//                     log.debug("Installed FileSystemProvider " + fsp);
+//             }
                bc.registerService(FileSystemProvider.class, cmsFsProvider,
                                LangUtils.dico(Constants.SERVICE_PID, NodeConstants.NODE_FS_PROVIDER_PID));
        }
@@ -164,7 +189,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 ##");