* 2.10.3-svn-14

       * Fixed JSPWIKI-1031 provide stacktrace when throwing InternalWikiException, fix by Jürgen Weber.


git-svn-id: https://svn.apache.org/repos/asf/jspwiki/trunk@1757600 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ChangeLog b/ChangeLog
index 99136d3..7ece677 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2016-08-25  Harry Metske (metskem@apache.org)
+
+       * 2.10.3-svn-14
+
+       * Fixed JSPWIKI-1031 provide stacktrace when throwing InternalWikiException, fix by Jürgen Weber.
+
 2016-08-18  Harry Metske (metskem@apache.org)
 
        * 2.10.3-svn-13
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/InternalWikiException.java b/jspwiki-war/src/main/java/org/apache/wiki/InternalWikiException.java
index c166f4f..0dd9b32 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/InternalWikiException.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/InternalWikiException.java
@@ -38,4 +38,16 @@
     {
         super( msg );
     }
+
+	public InternalWikiException(String message, Throwable cause)
+	{
+		super(message, cause);
+	}
+
+	public InternalWikiException(Throwable cause)
+	{
+		super(cause);
+	}
+    
+    
 }
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/ReferenceManager.java b/jspwiki-war/src/main/java/org/apache/wiki/ReferenceManager.java
index 63d99f5..74682da 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/ReferenceManager.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/ReferenceManager.java
@@ -412,7 +412,7 @@
         }
         catch (UnsupportedEncodingException e)
         {
-            throw new InternalWikiException("AAAAGH!  UTF-8 is gone!  My eyes!  It burns...!");
+            throw new InternalWikiException("AAAAGH!  UTF-8 is gone!  My eyes!  It burns...!", e);
         }
 
         return TextUtil.toHexString(dig)+".cache";
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/Release.java b/jspwiki-war/src/main/java/org/apache/wiki/Release.java
index e6bb027..246f335 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/Release.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/Release.java
@@ -72,7 +72,7 @@
      *  <p>
      *  If the build identifier is empty, it is not added.
      */
-    public static final String     BUILD         = "13";
+    public static final String     BUILD         = "14";
 
     /**
      *  This is the generic version string you should use when printing out the version.  It is of 
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/WikiBackgroundThread.java b/jspwiki-war/src/main/java/org/apache/wiki/WikiBackgroundThread.java
index 21f6faa..636e57a 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/WikiBackgroundThread.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/WikiBackgroundThread.java
@@ -141,7 +141,7 @@
             shutdownTask();
         } catch( Throwable t ) {
             LOG.error( "Background thread error: (stack trace follows)", t );
-            throw new InternalWikiException( t.getMessage() );
+            throw new InternalWikiException( t.getMessage() ,t);
         }
     }
     
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/WikiEngine.java b/jspwiki-war/src/main/java/org/apache/wiki/WikiEngine.java
index a253653..f17fa78 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/WikiEngine.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/WikiEngine.java
@@ -378,7 +378,7 @@
             {
                 context.log( "ERROR: Failed to create a Wiki engine: "+e.getMessage() );
                 log.error( "ERROR: Failed to create a Wiki engine, stacktrace follows " , e);
-                throw new InternalWikiException( "No wiki engine, check logs." );
+                throw new InternalWikiException( "No wiki engine, check logs." , e);
             }
 
         }
@@ -1280,7 +1280,7 @@
         }
         catch( UnsupportedEncodingException e )
         {
-            throw new InternalWikiException( "ISO-8859-1 not a supported encoding!?!  Your platform is borked." );
+            throw new InternalWikiException( "ISO-8859-1 not a supported encoding!?!  Your platform is borked." , e);
         }
     }
 
@@ -1300,7 +1300,7 @@
         }
         catch( UnsupportedEncodingException e )
         {
-            throw new InternalWikiException("ISO-8859-1 not a supported encoding!?!  Your platform is borked.");
+            throw new InternalWikiException("ISO-8859-1 not a supported encoding!?!  Your platform is borked.", e);
         }
     }
 
@@ -2365,7 +2365,7 @@
             catch ( WikiException we )
             {
                 log.fatal( "unable to instantiate class for AclManager: " + we.getMessage() );
-                throw new InternalWikiException("Cannot instantiate AclManager, please check logs.");
+                throw new InternalWikiException("Cannot instantiate AclManager, please check logs.", we);
             }
         }
         return m_aclManager;
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/auth/SecurityVerifier.java b/jspwiki-war/src/main/java/org/apache/wiki/auth/SecurityVerifier.java
index ef2a5b1..c90c505 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/auth/SecurityVerifier.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/auth/SecurityVerifier.java
@@ -429,7 +429,7 @@
             // If we couldn't evaluate constraints it means
             // there's some sort of IO mess or parsing issue
             LOG.error( "Malformed XML in web.xml", e );
-            throw new InternalWikiException( e.getClass().getName() + ": " + e.getMessage() );
+            throw new InternalWikiException( e.getClass().getName() + ": " + e.getMessage() , e);
         }
 
         s.append( "</tbody>\n" );
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/auth/authorize/WebContainerAuthorizer.java b/jspwiki-war/src/main/java/org/apache/wiki/auth/authorize/WebContainerAuthorizer.java
index 1d72aa8..6e58ab4 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/auth/authorize/WebContainerAuthorizer.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/auth/authorize/WebContainerAuthorizer.java
@@ -121,12 +121,12 @@
         catch ( IOException e )
         {
             log.error("Initialization failed: ",e);
-            throw new InternalWikiException( e.getClass().getName()+": "+e.getMessage() );
+            throw new InternalWikiException( e.getClass().getName()+": "+e.getMessage() , e);
         }
         catch ( JDOMException e )
         {
             log.error("Malformed XML in web.xml",e);
-            throw new InternalWikiException( e.getClass().getName()+": "+e.getMessage() );
+            throw new InternalWikiException( e.getClass().getName()+": "+e.getMessage() , e);
         }
 
         if ( m_containerRoles.length > 0 )
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/filters/SpamFilter.java b/jspwiki-war/src/main/java/org/apache/wiki/filters/SpamFilter.java
index 3659cb2..1352350 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/filters/SpamFilter.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/filters/SpamFilter.java
@@ -275,7 +275,7 @@
             m_urlPattern = m_compiler.compile( URL_REGEXP );
         } catch( MalformedPatternException e ) {
             log.fatal( "Internal error: Someone put in a faulty pattern.", e );
-            throw new InternalWikiException( "Faulty pattern." );
+            throw new InternalWikiException( "Faulty pattern." , e);
         }
 
         m_akismetAPIKey = TextUtil.getStringProperty( properties,
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java b/jspwiki-war/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
index 3787496..ce62e07 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
@@ -308,7 +308,7 @@
             catch( MalformedPatternException e )
             {
                 log.fatal("Internal error: Someone put in a faulty pattern.",e);
-                throw new InternalWikiException("Faulty camelcasepattern in TranslatorReader");
+                throw new InternalWikiException("Faulty camelcasepattern in TranslatorReader", e);
             }
             m_engine.setAttribute( CAMELCASE_PATTERN, m_camelCasePattern );
         }
@@ -1149,7 +1149,7 @@
         catch( IOException e )
         {
             log.fatal("CleanTranslator not working", e);
-            throw new InternalWikiException("CleanTranslator not working as expected, when cleaning title"+ e.getMessage() );
+            throw new InternalWikiException("CleanTranslator not working as expected, when cleaning title"+ e.getMessage() , e);
         }
 
         return outTitle;
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/parser/PluginContent.java b/jspwiki-war/src/main/java/org/apache/wiki/parser/PluginContent.java
index 83b110a..f21a2de 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/parser/PluginContent.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/parser/PluginContent.java
@@ -270,7 +270,7 @@
             }
         } catch (ClassCastException e) {
             log.error("Invalid type offered in parsing plugin arguments.", e);
-            throw new InternalWikiException("Oops, someone offered !String!");
+            throw new InternalWikiException("Oops, someone offered !String!", e);
         } catch (NoSuchElementException e) {
             String msg = "Missing parameter in plugin definition: " + commandline;
             log.warn(msg, e);
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java b/jspwiki-war/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java
index 06928b9..e4c7714 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java
@@ -224,7 +224,7 @@
             m_pluginPattern = compiler.compile( PLUGIN_INSERT_PATTERN );
         } catch( MalformedPatternException e ) {
             log.fatal( "Internal error: someone messed with pluginmanager patterns.", e );
-            throw new InternalWikiException( "PluginManager patterns are broken" );
+            throw new InternalWikiException( "PluginManager patterns are broken" , e);
         }
 
     }
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java b/jspwiki-war/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java
index 3a25294..c0c1a81 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java
@@ -241,7 +241,7 @@
         }
         catch( UnsupportedEncodingException e ) 
         {
-            throw new InternalWikiException("Faulty encoding; should never happen");
+            throw new InternalWikiException("Faulty encoding; should never happen", e);
         }
     }
     
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java b/jspwiki-war/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java
index 70cc9c2..ea56612 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java
@@ -767,7 +767,7 @@
             }
             catch( InterruptedException e )
             {
-                throw new InternalWikiException("Interrupted while waiting to start.");
+                throw new InternalWikiException("Interrupted while waiting to start.", e);
             }
 
             m_watchdog.enterState("Full reindex");
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/ui/CommandResolver.java b/jspwiki-war/src/main/java/org/apache/wiki/ui/CommandResolver.java
index 28290ff..e6f6a70 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/ui/CommandResolver.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/ui/CommandResolver.java
@@ -459,7 +459,7 @@
         catch( IOException e )
         {
             m_log.error( "Unable to create context", e );
-            throw new InternalWikiException( "Big internal booboo, please check logs." );
+            throw new InternalWikiException( "Big internal booboo, please check logs." , e);
         }
 
         // Didn't resolve; return null