</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>
<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>
</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>
<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
<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 -->
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());
<!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"
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;
// 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;
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 {
<!-- <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>