Merge branch 'sismics:master' into master

This commit is contained in:
Sukalpo Mitra 2023-11-14 13:01:14 +08:00 committed by GitHub
commit 8196eb3815
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 188 additions and 145 deletions

View File

@ -8,7 +8,7 @@
<version>1.12-SNAPSHOT</version> <version>1.12-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath> <relativePath>../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>docs-core</artifactId> <artifactId>docs-core</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
@ -20,7 +20,7 @@
<groupId>org.hibernate.orm</groupId> <groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId> <artifactId>hibernate-core</artifactId>
</dependency> </dependency>
<!-- Other external dependencies --> <!-- Other external dependencies -->
<dependency> <dependency>
<groupId>joda-time</groupId> <groupId>joda-time</groupId>
@ -31,12 +31,12 @@
<groupId>com.google.guava</groupId> <groupId>com.google.guava</groupId>
<artifactId>guava</artifactId> <artifactId>guava</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId> <artifactId>commons-compress</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId> <artifactId>commons-lang3</artifactId>
@ -46,7 +46,7 @@
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId> <artifactId>commons-email</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.freemarker</groupId> <groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId> <artifactId>freemarker</artifactId>
@ -66,17 +66,17 @@
<groupId>log4j</groupId> <groupId>log4j</groupId>
<artifactId>log4j</artifactId> <artifactId>log4j</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId> <artifactId>slf4j-log4j12</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId> <artifactId>slf4j-api</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId> <artifactId>jcl-over-slf4j</artifactId>
@ -86,17 +86,17 @@
<groupId>at.favre.lib</groupId> <groupId>at.favre.lib</groupId>
<artifactId>bcrypt</artifactId> <artifactId>bcrypt</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.lucene</groupId> <groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId> <artifactId>lucene-core</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.lucene</groupId> <groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId> <artifactId>lucene-analyzers-common</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.lucene</groupId> <groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId> <artifactId>lucene-queryparser</artifactId>
@ -119,7 +119,12 @@
<dependency> <dependency>
<groupId>org.apache.directory.api</groupId> <groupId>org.apache.directory.api</groupId>
<artifactId>api-all</artifactId> <artifactId>api-ldap-client-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.directory.api</groupId>
<artifactId>api-ldap-codec-standalone</artifactId>
</dependency> </dependency>
<!-- Only there to read old index and rebuild them --> <!-- Only there to read old index and rebuild them -->
@ -127,22 +132,22 @@
<groupId>org.apache.lucene</groupId> <groupId>org.apache.lucene</groupId>
<artifactId>lucene-backward-codecs</artifactId> <artifactId>lucene-backward-codecs</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.imgscalr</groupId> <groupId>org.imgscalr</groupId>
<artifactId>imgscalr-lib</artifactId> <artifactId>imgscalr-lib</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.pdfbox</groupId> <groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId> <artifactId>pdfbox</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.bouncycastle</groupId> <groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId> <artifactId>bcprov-jdk15on</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>fr.opensagres.xdocreport</groupId> <groupId>fr.opensagres.xdocreport</groupId>
<artifactId>fr.opensagres.odfdom.converter.pdf</artifactId> <artifactId>fr.opensagres.odfdom.converter.pdf</artifactId>
@ -186,14 +191,14 @@
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.h2database</groupId> <groupId>com.h2database</groupId>
<artifactId>h2</artifactId> <artifactId>h2</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
</dependencies> </dependencies>
<profiles> <profiles>
<!-- Development profile (active by default) --> <!-- Development profile (active by default) -->
<profile> <profile>
@ -205,7 +210,7 @@
<value>dev</value> <value>dev</value>
</property> </property>
</activation> </activation>
<build> <build>
<resources> <resources>
<resource> <resource>
@ -221,7 +226,7 @@
<id>prod</id> <id>prod</id>
</profile> </profile>
</profiles> </profiles>
<build> <build>
<resources> <resources>
<resource> <resource>

View File

@ -62,6 +62,7 @@ public class LdapAuthenticationHandler implements AuthenticationHandler {
if (ldapConnection == null) { if (ldapConnection == null) {
return null; return null;
} }
ldapConnection.bind();
EntryCursor cursor = ldapConnection.search(ConfigUtil.getConfigStringValue(ConfigType.LDAP_BASE_DN), EntryCursor cursor = ldapConnection.search(ConfigUtil.getConfigStringValue(ConfigType.LDAP_BASE_DN),
ConfigUtil.getConfigStringValue(ConfigType.LDAP_FILTER).replace("USERNAME", username), SearchScope.SUBTREE); ConfigUtil.getConfigStringValue(ConfigType.LDAP_FILTER).replace("USERNAME", username), SearchScope.SUBTREE);

View File

@ -129,6 +129,12 @@
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>org.apache.directory.server</groupId>
<artifactId>apacheds-all</artifactId>
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>
@ -182,7 +188,7 @@
</systemProperties> </systemProperties>
<webApp> <webApp>
<contextPath>/docs-web</contextPath> <contextPath>/docs-web</contextPath>
<overrideDescriptor>src/dev/main/webapp/web-override.xml</overrideDescriptor> <overrideDescriptor>${project.basedir}/src/dev/main/webapp/web-override.xml</overrideDescriptor>
</webApp> </webApp>
</configuration> </configuration>
</plugin> </plugin>
@ -260,8 +266,8 @@
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId> <artifactId>maven-war-plugin</artifactId>
<configuration> <configuration>
<warSourceDirectory>${basedir}/src/main/webapp/dist</warSourceDirectory> <warSourceDirectory>${project.basedir}/src/main/webapp/dist</warSourceDirectory>
<webXml>src\main\webapp\WEB-INF\web.xml</webXml> <webXml>src/main/webapp/WEB-INF/web.xml</webXml>
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>

View File

@ -1,19 +1,30 @@
package com.sismics.docs.rest; package com.sismics.docs.rest;
import java.io.File;
import com.google.common.io.Resources;
import com.icegreen.greenmail.util.GreenMail; import com.icegreen.greenmail.util.GreenMail;
import com.icegreen.greenmail.util.GreenMailUtil; import com.icegreen.greenmail.util.GreenMailUtil;
import com.icegreen.greenmail.util.ServerSetup; import com.icegreen.greenmail.util.ServerSetup;
import com.sismics.docs.core.model.context.AppContext; import com.sismics.docs.core.model.context.AppContext;
import com.sismics.util.filter.TokenBasedSecurityFilter; import com.sismics.util.filter.TokenBasedSecurityFilter;
import org.junit.Assert;
import org.junit.Test;
import jakarta.json.JsonArray; import jakarta.json.JsonArray;
import jakarta.json.JsonObject; import jakarta.json.JsonObject;
import jakarta.ws.rs.client.Entity; import jakarta.ws.rs.client.Entity;
import jakarta.ws.rs.core.Form; import jakarta.ws.rs.core.Form;
import jakarta.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.Response.Status; import jakarta.ws.rs.core.Response.Status;
import org.apache.directory.api.ldap.model.name.Dn;
import org.apache.directory.server.core.api.DirectoryService;
import org.apache.directory.server.core.api.partition.Partition;
import org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory;
import org.apache.directory.server.core.factory.DirectoryServiceFactory;
import org.apache.directory.server.core.partition.impl.avl.AvlPartition;
import org.apache.directory.server.ldap.LdapServer;
import org.apache.directory.server.protocol.shared.store.LdifFileLoader;
import org.apache.directory.server.protocol.shared.transport.TcpTransport;
import org.junit.Assert;
import org.junit.Test;
/** /**
@ -340,89 +351,90 @@ public class TestAppResource extends BaseJerseyTest {
*/ */
@Test @Test
public void testLdapAuthentication() throws Exception { public void testLdapAuthentication() throws Exception {
// // Start LDAP server // Start LDAP server
// final DirectoryServiceFactory factory = new DefaultDirectoryServiceFactory(); final DirectoryServiceFactory factory = new DefaultDirectoryServiceFactory();
// factory.init("Test"); factory.init("Test");
//
// final DirectoryService directoryService = factory.getDirectoryService(); final DirectoryService directoryService = factory.getDirectoryService();
// directoryService.getChangeLog().setEnabled(false); directoryService.getChangeLog().setEnabled(false);
// directoryService.setShutdownHookEnabled(true); directoryService.setShutdownHookEnabled(true);
//
// final Partition partition = new AvlPartition(directoryService.getSchemaManager()); final Partition partition = new AvlPartition(directoryService.getSchemaManager());
// partition.setId("Test"); partition.setId("Test");
// partition.setSuffixDn(new Dn(directoryService.getSchemaManager(), "o=TEST")); partition.setSuffixDn(new Dn(directoryService.getSchemaManager(), "o=TEST"));
// partition.initialize(); partition.initialize();
// directoryService.addPartition(partition); directoryService.addPartition(partition);
//
// final LdapServer ldapServer = new LdapServer(); final LdapServer ldapServer = new LdapServer();
// ldapServer.setTransports(new TcpTransport("localhost", 11389)); ldapServer.setTransports(new TcpTransport("localhost", 11389));
// ldapServer.setDirectoryService(directoryService); ldapServer.setDirectoryService(directoryService);
//
// directoryService.startup(); directoryService.startup();
// ldapServer.start(); ldapServer.start();
//
// // Load test data in LDAP // Load test data in LDAP
// new LdifFileLoader(directoryService.getAdminSession(), new File(Resources.getResource("test.ldif").getFile()), null).execute(); new LdifFileLoader(directoryService.getAdminSession(), new File(Resources.getResource("test.ldif").getFile()), null).execute();
//
// // Login admin // Login admin
// String adminToken = adminToken(); String adminToken = adminToken();
//
// // Get the LDAP configuration // Get the LDAP configuration
// JsonObject json = target().path("/app/config_ldap").request() JsonObject json = target().path("/app/config_ldap").request()
// .cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken) .cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
// .get(JsonObject.class); .get(JsonObject.class);
// Assert.assertFalse(json.getBoolean("enabled")); Assert.assertFalse(json.getBoolean("enabled"));
//
// // Change LDAP configuration // Change LDAP configuration
// target().path("/app/config_ldap").request() target().path("/app/config_ldap").request()
// .cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken) .cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
// .post(Entity.form(new Form() .post(Entity.form(new Form()
// .param("enabled", "true") .param("enabled", "true")
// .param("host", "localhost") .param("host", "localhost")
// .param("port", "11389") .param("port", "11389")
// .param("admin_dn", "uid=admin,ou=system") .param("usessl", "false")
// .param("admin_password", "secret") .param("admin_dn", "uid=admin,ou=system")
// .param("base_dn", "o=TEST") .param("admin_password", "secret")
// .param("filter", "(&(objectclass=inetOrgPerson)(uid=USERNAME))") .param("base_dn", "o=TEST")
// .param("default_email", "devnull@teedy.io") .param("filter", "(&(objectclass=inetOrgPerson)(uid=USERNAME))")
// .param("default_storage", "100000000") .param("default_email", "devnull@teedy.io")
// ), JsonObject.class); .param("default_storage", "100000000")
// ), JsonObject.class);
// // Get the LDAP configuration
// json = target().path("/app/config_ldap").request() // Get the LDAP configuration
// .cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken) json = target().path("/app/config_ldap").request()
// .get(JsonObject.class); .cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
// Assert.assertTrue(json.getBoolean("enabled")); .get(JsonObject.class);
// Assert.assertEquals("localhost", json.getString("host")); Assert.assertTrue(json.getBoolean("enabled"));
// Assert.assertEquals(11389, json.getJsonNumber("port").intValue()); Assert.assertEquals("localhost", json.getString("host"));
// Assert.assertEquals("uid=admin,ou=system", json.getString("admin_dn")); Assert.assertEquals(11389, json.getJsonNumber("port").intValue());
// Assert.assertEquals("secret", json.getString("admin_password")); Assert.assertEquals("uid=admin,ou=system", json.getString("admin_dn"));
// Assert.assertEquals("o=TEST", json.getString("base_dn")); Assert.assertEquals("secret", json.getString("admin_password"));
// Assert.assertEquals("(&(objectclass=inetOrgPerson)(uid=USERNAME))", json.getString("filter")); Assert.assertEquals("o=TEST", json.getString("base_dn"));
// Assert.assertEquals("devnull@teedy.io", json.getString("default_email")); Assert.assertEquals("(&(objectclass=inetOrgPerson)(uid=USERNAME))", json.getString("filter"));
// Assert.assertEquals(100000000L, json.getJsonNumber("default_storage").longValue()); Assert.assertEquals("devnull@teedy.io", json.getString("default_email"));
// Assert.assertEquals(100000000L, json.getJsonNumber("default_storage").longValue());
// // Login with a LDAP user
// String ldapTopen = clientUtil.login("ldap1", "secret", false); // Login with a LDAP user
// String ldapTopen = clientUtil.login("ldap1", "secret", false);
// // Check user informations
// json = target().path("/user").request() // Check user informations
// .cookie(TokenBasedSecurityFilter.COOKIE_NAME, ldapTopen) json = target().path("/user").request()
// .get(JsonObject.class); .cookie(TokenBasedSecurityFilter.COOKIE_NAME, ldapTopen)
// Assert.assertEquals("ldap1@teedy.io", json.getString("email")); .get(JsonObject.class);
// Assert.assertEquals("ldap1@teedy.io", json.getString("email"));
// // List all documents
// json = target().path("/document/list") // List all documents
// .queryParam("sort_column", 3) json = target().path("/document/list")
// .queryParam("asc", true) .queryParam("sort_column", 3)
// .request() .queryParam("asc", true)
// .cookie(TokenBasedSecurityFilter.COOKIE_NAME, ldapTopen) .request()
// .get(JsonObject.class); .cookie(TokenBasedSecurityFilter.COOKIE_NAME, ldapTopen)
// JsonArray documents = json.getJsonArray("documents"); .get(JsonObject.class);
// Assert.assertEquals(0, documents.size()); JsonArray documents = json.getJsonArray("documents");
// Assert.assertEquals(0, documents.size());
// // Stop LDAP server
// ldapServer.stop(); // Stop LDAP server
// directoryService.shutdown(); ldapServer.stop();
directoryService.shutdown();
} }
} }

View File

@ -75,7 +75,7 @@ public class TestUserResource extends BaseJerseyTest {
response = target().path("/user").request() response = target().path("/user").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken) .cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.put(Entity.form(new Form() .put(Entity.form(new Form()
.param("username", "bob-") .param("username", "bob/")
.param("email", "bob@docs.com") .param("email", "bob@docs.com")
.param("password", "12345678") .param("password", "12345678")
.param("storage_quota", "10"))); .param("storage_quota", "10")));

87
pom.xml
View File

@ -46,14 +46,15 @@
<com.icegreen.greenmail.version>1.6.14</com.icegreen.greenmail.version> <com.icegreen.greenmail.version>1.6.14</com.icegreen.greenmail.version>
<org.jsoup.jsoup.version>1.15.4</org.jsoup.jsoup.version> <org.jsoup.jsoup.version>1.15.4</org.jsoup.jsoup.version>
<com.squareup.okhttp3.okhttp.version>4.10.0</com.squareup.okhttp3.okhttp.version> <com.squareup.okhttp3.okhttp.version>4.10.0</com.squareup.okhttp3.okhttp.version>
<org.apache.directory.api.api-all.version>2.1.3</org.apache.directory.api.api-all.version> <org.apache.directory.api.version>2.1.3</org.apache.directory.api.version>
<org.apache.directory.server.apacheds-all.version>2.0.0.AM27</org.apache.directory.server.apacheds-all.version>
<org.glassfish.jersey.version>3.0.10</org.glassfish.jersey.version> <org.glassfish.jersey.version>3.0.10</org.glassfish.jersey.version>
<jakarta.servlet.jakarta.servlet-api.version>5.0.0</jakarta.servlet.jakarta.servlet-api.version> <jakarta.servlet.jakarta.servlet-api.version>5.0.0</jakarta.servlet.jakarta.servlet-api.version>
<org.eclipse.jetty.jetty-server.version>11.0.14</org.eclipse.jetty.jetty-server.version> <org.eclipse.jetty.jetty-server.version>11.0.14</org.eclipse.jetty.jetty-server.version>
<org.eclipse.jetty.jetty-webapp.version>11.0.14</org.eclipse.jetty.jetty-webapp.version> <org.eclipse.jetty.jetty-webapp.version>11.0.14</org.eclipse.jetty.jetty-webapp.version>
<org.eclipse.jetty.jetty-servlet.version>11.0.14</org.eclipse.jetty.jetty-servlet.version> <org.eclipse.jetty.jetty-servlet.version>11.0.14</org.eclipse.jetty.jetty-servlet.version>
<!-- Plugins version --> <!-- Plugins version -->
<org.apache.maven.plugins.maven-antrun-plugin.version>3.1.0</org.apache.maven.plugins.maven-antrun-plugin.version> <org.apache.maven.plugins.maven-antrun-plugin.version>3.1.0</org.apache.maven.plugins.maven-antrun-plugin.version>
<org.apache.maven.plugins.maven-jar-plugin.version>3.3.0</org.apache.maven.plugins.maven-jar-plugin.version> <org.apache.maven.plugins.maven-jar-plugin.version>3.3.0</org.apache.maven.plugins.maven-jar-plugin.version>
@ -61,7 +62,7 @@
<org.apache.maven.plugins.maven-surefire-plugin.version>3.0.0</org.apache.maven.plugins.maven-surefire-plugin.version> <org.apache.maven.plugins.maven-surefire-plugin.version>3.0.0</org.apache.maven.plugins.maven-surefire-plugin.version>
<org.eclipse.jetty.jetty-maven-plugin.version>11.0.14</org.eclipse.jetty.jetty-maven-plugin.version> <org.eclipse.jetty.jetty-maven-plugin.version>11.0.14</org.eclipse.jetty.jetty-maven-plugin.version>
</properties> </properties>
<scm> <scm>
<connection>scm:git:https://github.com/sismics/docs.git</connection> <connection>scm:git:https://github.com/sismics/docs.git</connection>
<developerConnection>scm:git:https://github.com/docs/docs.git</developerConnection> <developerConnection>scm:git:https://github.com/docs/docs.git</developerConnection>
@ -93,7 +94,7 @@
<artifactId>maven-war-plugin</artifactId> <artifactId>maven-war-plugin</artifactId>
<version>${org.apache.maven.plugins.maven-war-plugin.version}</version> <version>${org.apache.maven.plugins.maven-war-plugin.version}</version>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId> <artifactId>maven-jar-plugin</artifactId>
@ -109,7 +110,7 @@
<reuseForks>false</reuseForks> <reuseForks>false</reuseForks>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.eclipse.jetty</groupId> <groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId> <artifactId>jetty-maven-plugin</artifactId>
@ -117,13 +118,13 @@
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<modules> <modules>
<module>docs-core</module> <module>docs-core</module>
<module>docs-web-common</module> <module>docs-web-common</module>
<module>docs-web</module> <module>docs-web</module>
</modules> </modules>
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
<dependency> <dependency>
@ -131,38 +132,38 @@
<artifactId>docs-core</artifactId> <artifactId>docs-core</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.sismics.docs</groupId> <groupId>com.sismics.docs</groupId>
<artifactId>docs-web-common</artifactId> <artifactId>docs-web-common</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.sismics.docs</groupId> <groupId>com.sismics.docs</groupId>
<artifactId>docs-web-common</artifactId> <artifactId>docs-web-common</artifactId>
<type>test-jar</type> <type>test-jar</type>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.sismics.docs</groupId> <groupId>com.sismics.docs</groupId>
<artifactId>docs-web</artifactId> <artifactId>docs-web</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.eclipse.jetty</groupId> <groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId> <artifactId>jetty-server</artifactId>
<version>${org.eclipse.jetty.jetty-server.version}</version> <version>${org.eclipse.jetty.jetty-server.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.eclipse.jetty</groupId> <groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId> <artifactId>jetty-webapp</artifactId>
<version>${org.eclipse.jetty.jetty-webapp.version}</version> <version>${org.eclipse.jetty.jetty-webapp.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.eclipse.jetty</groupId> <groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId> <artifactId>jetty-servlet</artifactId>
@ -180,7 +181,7 @@
<artifactId>commons-compress</artifactId> <artifactId>commons-compress</artifactId>
<version>${org.apache.commons.commons-compress.version}</version> <version>${org.apache.commons.commons-compress.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId> <artifactId>commons-lang3</artifactId>
@ -198,7 +199,7 @@
<artifactId>commons-email</artifactId> <artifactId>commons-email</artifactId>
<version>${org.apache.commons.commons-email.version}</version> <version>${org.apache.commons.commons-email.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.google.guava</groupId> <groupId>com.google.guava</groupId>
<artifactId>guava</artifactId> <artifactId>guava</artifactId>
@ -222,19 +223,19 @@
<artifactId>log4j</artifactId> <artifactId>log4j</artifactId>
<version>${log4j.log4j.version}</version> <version>${log4j.log4j.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId> <artifactId>slf4j-log4j12</artifactId>
<version>${org.slf4j.version}</version> <version>${org.slf4j.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId> <artifactId>slf4j-api</artifactId>
<version>${org.slf4j.version}</version> <version>${org.slf4j.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId> <artifactId>jcl-over-slf4j</artifactId>
@ -264,7 +265,7 @@
<artifactId>jersey-container-servlet</artifactId> <artifactId>jersey-container-servlet</artifactId>
<version>${org.glassfish.jersey.version}</version> <version>${org.glassfish.jersey.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.glassfish.jersey.media</groupId> <groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-processing</artifactId> <artifactId>jersey-media-json-processing</artifactId>
@ -276,7 +277,7 @@
<artifactId>jersey-media-multipart</artifactId> <artifactId>jersey-media-multipart</artifactId>
<version>${org.glassfish.jersey.version}</version> <version>${org.glassfish.jersey.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.glassfish.jersey.inject</groupId> <groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId> <artifactId>jersey-hk2</artifactId>
@ -288,7 +289,7 @@
<artifactId>jersey-client</artifactId> <artifactId>jersey-client</artifactId>
<version>${org.glassfish.jersey.version}</version> <version>${org.glassfish.jersey.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId> <groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-bundle</artifactId> <artifactId>jersey-test-framework-provider-bundle</artifactId>
@ -307,7 +308,7 @@
<artifactId>jersey-test-framework-provider-grizzly2</artifactId> <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
<version>${org.glassfish.jersey.version}</version> <version>${org.glassfish.jersey.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.glassfish.jersey.containers</groupId> <groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-grizzly2-servlet</artifactId> <artifactId>jersey-container-grizzly2-servlet</artifactId>
@ -331,7 +332,7 @@
<artifactId>hibernate-core</artifactId> <artifactId>hibernate-core</artifactId>
<version>${org.hibernate.hibernate.version}</version> <version>${org.hibernate.hibernate.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.freemarker</groupId> <groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId> <artifactId>freemarker</artifactId>
@ -349,25 +350,25 @@
<artifactId>lucene-core</artifactId> <artifactId>lucene-core</artifactId>
<version>${org.apache.lucene.version}</version> <version>${org.apache.lucene.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.lucene</groupId> <groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId> <artifactId>lucene-analyzers-common</artifactId>
<version>${org.apache.lucene.version}</version> <version>${org.apache.lucene.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.lucene</groupId> <groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId> <artifactId>lucene-queryparser</artifactId>
<version>${org.apache.lucene.version}</version> <version>${org.apache.lucene.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.lucene</groupId> <groupId>org.apache.lucene</groupId>
<artifactId>lucene-backward-codecs</artifactId> <artifactId>lucene-backward-codecs</artifactId>
<version>${org.apache.lucene.version}</version> <version>${org.apache.lucene.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.lucene</groupId> <groupId>org.apache.lucene</groupId>
<artifactId>lucene-suggest</artifactId> <artifactId>lucene-suggest</artifactId>
@ -385,25 +386,25 @@
<artifactId>imgscalr-lib</artifactId> <artifactId>imgscalr-lib</artifactId>
<version>${org.imgscalr.imgscalr-lib.version}</version> <version>${org.imgscalr.imgscalr-lib.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.pdfbox</groupId> <groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId> <artifactId>pdfbox</artifactId>
<version>${org.apache.pdfbox.pdfbox.version}</version> <version>${org.apache.pdfbox.pdfbox.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.bouncycastle</groupId> <groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId> <artifactId>bcprov-jdk15on</artifactId>
<version>${org.bouncycastle.bcprov-jdk15on.version}</version> <version>${org.bouncycastle.bcprov-jdk15on.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>fr.opensagres.xdocreport</groupId> <groupId>fr.opensagres.xdocreport</groupId>
<artifactId>fr.opensagres.odfdom.converter.pdf</artifactId> <artifactId>fr.opensagres.odfdom.converter.pdf</artifactId>
<version>${fr.opensagres.xdocreport.version}</version> <version>${fr.opensagres.xdocreport.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>fr.opensagres.xdocreport</groupId> <groupId>fr.opensagres.xdocreport</groupId>
<artifactId>fr.opensagres.poi.xwpf.converter.pdf</artifactId> <artifactId>fr.opensagres.poi.xwpf.converter.pdf</artifactId>
@ -436,8 +437,26 @@
<dependency> <dependency>
<groupId>org.apache.directory.api</groupId> <groupId>org.apache.directory.api</groupId>
<artifactId>api-all</artifactId> <artifactId>api-ldap-client-api</artifactId>
<version>${org.apache.directory.api.api-all.version}</version> <version>${org.apache.directory.api.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.directory.api</groupId>
<artifactId>api-ldap-schema-data</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.directory.api</groupId>
<artifactId>api-ldap-codec-standalone</artifactId>
<version>${org.apache.directory.api.version}</version>
</dependency>
<dependency>
<groupId>org.apache.directory.server</groupId>
<artifactId>apacheds-all</artifactId>
<version>${org.apache.directory.server.apacheds-all.version}</version>
</dependency> </dependency>
<!-- ImageIO plugins --> <!-- ImageIO plugins -->
@ -471,5 +490,5 @@
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
</project> </project>