diff --git a/pom.xml b/pom.xml index 1cfaa766209fbc33c77d24b3ed12fd9cd81e394b..125dbd8c2483a6c1c01b1a6c4c6ac37a469272fd 100644 --- a/pom.xml +++ b/pom.xml @@ -65,10 +65,10 @@ <org.springframework.version>4.3.14.RELEASE</org.springframework.version> <org.hibernate.version>5.2.13.Final</org.hibernate.version> <com.sun.jersey.version>1.19.4</com.sun.jersey.version> - <jackson.version>1.9.2</jackson.version> + <jackson.version>1.9.13</jackson.version> <org.mysql.version>5.1.45</org.mysql.version> <org.postgresql.version>42.2.1</org.postgresql.version> - <org.infinispan.version>8.2.5.Final</org.infinispan.version> + <org.infinispan.version>8.2.8.Final</org.infinispan.version> <lucene.version>4.8.0</lucene.version> <version.selenium>3.8.1</version.selenium> <version.drone>2.5.0</version.drone> @@ -2169,12 +2169,12 @@ <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> - <version>4.3.3</version> + <version>4.4.9</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> - <version>4.3.3</version> + <version>4.5.5</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> @@ -2185,7 +2185,7 @@ <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> - <version>4.3.3</version> + <version>4.5.5</version> </dependency> <dependency> <!-- Used by at least ical4j, velocity, basiclti --> diff --git a/src/main/java/org/olat/core/commons/services/help/ConfluenceHelper.java b/src/main/java/org/olat/core/commons/services/help/ConfluenceHelper.java index a51abea762a32c2b24dd7b7d21122a55bb53208e..fe374dfc32a8676af437d25d153051aa7d4f7a5c 100644 --- a/src/main/java/org/olat/core/commons/services/help/ConfluenceHelper.java +++ b/src/main/java/org/olat/core/commons/services/help/ConfluenceHelper.java @@ -24,7 +24,6 @@ import java.util.Locale; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import org.apache.commons.io.IOUtils; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.methods.HttpGet; @@ -195,9 +194,9 @@ public class ConfluenceHelper { if (lastTrial == null || lastTrial.getTime() < (now.getTime() - (1800 * 1000))) { translatTrials.put(aliasUrl, now); new Thread() { + @Override public void run() { - CloseableHttpClient httpClient = HttpClientFactory.getHttpClientInstance(false); - try { + try(CloseableHttpClient httpClient = HttpClientFactory.getHttpClientInstance(false)) { // Phase 1: lookup alias redirect HttpGet httpMethod = new HttpGet(aliasUrl); httpMethod.setHeader("User-Agent", Settings.getFullVersionInfo()); @@ -219,8 +218,8 @@ public class ConfluenceHelper { } // Remove the path to extract the page name String path = body.substring(locationPos + 18, endPos); - String translatedPage = path.substring(path.lastIndexOf("/") + 1); - translatedPage = translatedPage.replaceAll("\\+", " "); + String translatedPath = path.substring(path.lastIndexOf("/") + 1); + translatedPath = translatedPath.replaceAll("\\+", " "); // Phase 2:Lookup real page name in confluence // if this just a stupid confluence page ID @@ -232,8 +231,8 @@ public class ConfluenceHelper { // Anchors do not work on such pages. For iso // latin pages this should be fine for most // cases. - if (translatedPage.indexOf("viewpage.action?pageId") != -1) { - String redirectUrl = confluencePagesUrl + translatedPage; + if (translatedPath.indexOf("viewpage.action?pageId") != -1) { + String redirectUrl = confluencePagesUrl + translatedPath; httpMethod = new HttpGet(redirectUrl); httpMethod.setHeader("User-Agent", Settings.getFullVersionInfo()); response = httpClient.execute(httpMethod); @@ -254,8 +253,8 @@ public class ConfluenceHelper { } // Remove the path to extract the page name path = body.substring(titlePos + 25, endPos); - translatedPage = path.substring(path.lastIndexOf("/") + 1); - translatedPage = translatedPage.replaceAll("\\+", " "); + translatedPath = path.substring(path.lastIndexOf("/") + 1); + translatedPath = translatedPath.replaceAll("\\+", " "); // Check if this just a stupid page ID instead // of the page name. This totally breaks the // anchor stuff, we need the real page name. For @@ -264,12 +263,10 @@ public class ConfluenceHelper { } // We're done. Put to cache for next retrieval - translatedPages.putIfAbsent(aliasUrl, translatedPage); + translatedPages.putIfAbsent(aliasUrl, translatedPath); } } catch (Exception e) { logger.warn("Error while getting help page from EN alias", e); - } finally { - IOUtils.closeQuietly(httpClient); } } }.start();