From 844419fb2bf8048c8a12390d26e962dd9e5ec138 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Wed, 20 Jun 2018 11:39:31 +0200
Subject: [PATCH] OO-3543: catch errors on initialization of the
 InterWikiHandler

---
 .../wikiToHtml/OlatWikiDataHandler.java       | 28 ++++++++++++-------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/OlatWikiDataHandler.java b/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/OlatWikiDataHandler.java
index 0d5f59b80ba..0e17435af64 100644
--- a/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/OlatWikiDataHandler.java
+++ b/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/OlatWikiDataHandler.java
@@ -68,6 +68,7 @@ public class OlatWikiDataHandler implements DataHandler {
 	 * @see org.jamwiki.DataHandler#lookupTopic(java.lang.String,
 	 *      java.lang.String, boolean, java.lang.Object)
 	 */
+	@Override
 	public Topic lookupTopic(String virtualWiki, String topicName, boolean deleteOK, Object transactionObject) throws Exception {
 		String decodedName = null;
 
@@ -114,6 +115,7 @@ public class OlatWikiDataHandler implements DataHandler {
 	 * @see org.jamwiki.DataHandler#lookupWikiFile(java.lang.String,
 	 *      java.lang.String)
 	 */
+	@Override
 	public WikiFile lookupWikiFile(String virtualWiki, String topicName) throws Exception {
 		WikiFile wikifile = new WikiFile();
 		if (topicName.startsWith(IMAGE_NAMESPACE)) {
@@ -131,17 +133,23 @@ public class OlatWikiDataHandler implements DataHandler {
 	/**
 	 * @see org.jamwiki.DataHandler#exists(java.lang.String, java.lang.String)
 	 */
+	@Override
 	public boolean exists(String virtualWiki, String topic) {
-		if (!StringUtils.hasText(topic)) { return false; }
-		if (PseudoTopicHandler.isPseudoTopic(topic)) { return true; }
-		if (InterWikiHandler.isInterWiki(topic)) { return true; }
-		
-//		try {
-//			Utilities.validateTopicName(topic);
-//		} catch (WikiException e) {
-//			throw new OLATRuntimeException(this.getClass(), "invalid topic name!", e);
-//		}
-		
+		if (!StringUtils.hasText(topic)) {
+			return false;
+		}
+		if (PseudoTopicHandler.isPseudoTopic(topic)) {
+			return true;
+		}
+
+		try {
+			if (InterWikiHandler.isInterWiki(topic)) {
+				return true;
+			}
+		} catch (Exception e) {
+			log.warn("Cannot initialize InterWikiHandler", e);
+		}
+
 		Wiki wiki = WikiManager.getInstance().getOrLoadWiki(ores);
 		if (topic.startsWith(IMAGE_NAMESPACE) || topic.startsWith(MEDIA_NAMESPACE)) {
 			return wiki.pageExists(topic);
-- 
GitLab