Adapt to updates and additions in Argeo TP
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 1 Oct 2018 06:34:21 +0000 (08:34 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 1 Oct 2018 06:34:21 +0000 (08:34 +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/src/org/argeo/cms/internal/jcr/repository-h2.xml
org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java
org.argeo.jcr/src/org/argeo/jackrabbit/fs/fs-memory.xml
org.argeo.jcr/src/org/argeo/jcr/fs/BinaryChannel.java
pom.xml

index 0d5b9d0de4ec9e5884bdd3134669196ee25aa786..c32bb4a1c4a66ef6850d2a4a14211acfffef8f99 100644 (file)
                </dependency>
 
                <!-- Misc Third Parties -->
-               <dependency>
-                       <groupId>org.argeo.tp.apache</groupId>
-                       <artifactId>org.apache.tika.parser</artifactId>
-               </dependency>
                <dependency>
                        <groupId>org.argeo.tp.bouncycastle</groupId>
                        <artifactId>bcmail</artifactId>
index 556b481964c50d2e0fa0dc25f44267abb0a83edf..286beb7e17ea78c8d00b3e6e2663a11d523b3f9e 100644 (file)
                        <groupId>org.argeo.tp.apache</groupId>
                        <artifactId>org.apache.tika.core</artifactId>
                </dependency>
+               <dependency>
+                       <groupId>org.argeo.tp.apache</groupId>
+                       <artifactId>org.apache.tika.parsers</artifactId>
+               </dependency>
                <dependency>
                        <groupId>org.argeo.tp.apache</groupId>
                        <artifactId>org.apache.lucene</artifactId>
index 61db9f435ddb221f49eb4b4b6ed597873bbf0854..a22c7a9b768c3c6b877a84f250943e06268a2f78 100644 (file)
                </dependency>
 
                <!-- Misc Third Parties -->
-               <dependency>
-                       <groupId>org.argeo.tp.apache</groupId>
-                       <artifactId>org.apache.tika.parser</artifactId>
-               </dependency>
+<!--           <dependency> -->
+<!--                   <groupId>org.argeo.tp.apache</groupId> -->
+<!--                   <artifactId>org.apache.tika.parser</artifactId> -->
+<!--           </dependency> -->
                <dependency>
                        <groupId>org.argeo.tp.bouncycastle</groupId>
                        <artifactId>bcmail</artifactId>
index 11a1a523a2c2883869526a923b145c44deda0c97..ace0fa5eede195fb672d01c88809245bb01c3aa5 100644 (file)
@@ -43,6 +43,8 @@
                        <param name="extractorPoolSize" value="${extractorPoolSize}" />
                        <param name="cacheSize" value="${searchCacheSize}" />
                        <param name="maxVolatileIndexSize" value="${maxVolatileIndexSize}" />
+<!--                   <param name="tikaConfigPath" value="${indexesBase}/${cn}/tika-config.xml" /> -->
+                       <param name="supportHighlighting" value="true" />
                </SearchIndex>
                <WorkspaceSecurity>
                        <AccessControlProvider
@@ -71,6 +73,8 @@
                <param name="extractorPoolSize" value="${extractorPoolSize}" />
                <param name="cacheSize" value="${searchCacheSize}" />
                <param name="maxVolatileIndexSize" value="${maxVolatileIndexSize}" />
+<!--           <param name="tikaConfigPath" value="${indexesBase}/${cn}/tika-config.xml" /> -->
+               <param name="supportHighlighting" value="true" />
        </SearchIndex>
 
        <!-- Security -->
index 0990181f2e1a2e43132030cd7a26e24f4f2184f0..e3d48a6f4392e613cf466af0aae76fe0c1da5977 100644 (file)
@@ -98,6 +98,21 @@ 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());
index c7bab0d69b5a6f2af02713a709133588ba1f00ec..f2541fb4e42edaa5a356cb9cc1db22499e1e66f9 100644 (file)
@@ -2,43 +2,53 @@
 <!DOCTYPE Repository PUBLIC "Jackrabbit 2.6" "http://jackrabbit.apache.org/dtd/repository-2.6.dtd">
 <Repository>
        <!-- File system and datastore -->
-       <FileSystem class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem" />
+       <FileSystem
+               class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem" />
 
        <!-- Workspace templates -->
        <Workspaces rootPath="${rep.home}/workspaces"
                defaultWorkspace="main" configRootPath="/workspaces" />
        <Workspace name="${wsp.name}">
-               <FileSystem class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem" />
+               <FileSystem
+                       class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem" />
                <PersistenceManager
                        class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager">
                </PersistenceManager>
-               <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+               <SearchIndex
+                       class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
                        <param name="path" value="${wsp.home}/index" />
                        <param name="directoryManagerClass"
                                value="org.apache.jackrabbit.core.query.lucene.directory.RAMDirectoryManager" />
-                       <FileSystem class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem" />
+                       <param name="extractorPoolSize" value="0" />
+                       <FileSystem
+                               class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem" />
                </SearchIndex>
        </Workspace>
 
        <!-- Versioning -->
        <Versioning rootPath="${rep.home}/version">
-               <FileSystem class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem" />
+               <FileSystem
+                       class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem" />
                <PersistenceManager
                        class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager">
                </PersistenceManager>
        </Versioning>
 
        <!-- Indexing -->
-       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+       <SearchIndex
+               class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
                <param name="path" value="${rep.home}/index" />
                <param name="directoryManagerClass"
                        value="org.apache.jackrabbit.core.query.lucene.directory.RAMDirectoryManager" />
-               <FileSystem class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem" />
+               <param name="extractorPoolSize" value="0" />
+               <FileSystem
+                       class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem" />
        </SearchIndex>
 
        <!-- Security -->
        <Security appName="Jackrabbit">
-               <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule" />
+               <LoginModule
+                       class="org.apache.jackrabbit.core.security.SimpleLoginModule" />
                <!-- <SecurityManager class="org.argeo.security.jackrabbit.ArgeoSecurityManager" -->
                <!-- workspaceName="security" /> -->
                <!-- <AccessManager class="org.argeo.security.jackrabbit.ArgeoAccessManager" 
index 9213b729dd50cad6ef97e4e0230b50e337821e7b..94eb70482b6751ba3b7d62b98b138acab37a891f 100644 (file)
@@ -12,6 +12,8 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.StandardOpenOption;
 
+import javax.activation.FileTypeMap;
+import javax.activation.MimetypesFileTypeMap;
 import javax.jcr.Binary;
 import javax.jcr.Node;
 import javax.jcr.Property;
@@ -31,6 +33,16 @@ public class BinaryChannel implements SeekableByteChannel {
        // private ByteBuffer toWrite;
        private FileChannel fc = null;
 
+       private static FileTypeMap fileTypeMap;
+
+       static {
+               try {
+                       fileTypeMap = new MimetypesFileTypeMap("/etc/mime.types");
+               } catch (IOException e) {
+                       fileTypeMap = FileTypeMap.getDefaultFileTypeMap();
+               }
+       }
+
        public BinaryChannel(Node file) throws RepositoryException, IOException {
                this.file = file;
                // int capacity = 1024 * 1024;
@@ -45,6 +57,11 @@ public class BinaryChannel implements SeekableByteChannel {
                                        this.binary = data.getSession().getValueFactory().createBinary(in);
                                }
                                data.setProperty(Property.JCR_DATA, this.binary);
+
+                               // MIME type
+                               String mime = fileTypeMap.getContentType(file.getName());
+                               data.setProperty(Property.JCR_MIMETYPE, mime);
+
                                data.getSession().save();
                        }
                } else {
diff --git a/pom.xml b/pom.xml
index e9642e07bf9fa915dc4b48f39f38e89403b1e152..02c0281bd71eee22f96144e138fe10af5a09c262 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,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.21-SNAPSHOT</version.argeo-tp>
+               <version.argeo-tp>2.1.21</version.argeo-tp>
                <!-- RPM -->
                <argeo.rpm.release>7</argeo.rpm.release>
                <argeo.rpm.stagingRepository>/srv/rpmfactory/argeo-osgi-2/el7</argeo.rpm.stagingRepository>