diff -ruN jspwiki-war.orig/src/main/java/org/apache/wiki/auth/authorize/WebContainerAuthorizer.java jspwiki-war/src/main/java/org/apache/wiki/auth/authorize/WebContainerAuthorizer.java --- jspwiki-war.orig/src/main/java/org/apache/wiki/auth/authorize/WebContainerAuthorizer.java 2016-08-24 12:37:35.652885397 +0200 +++ jspwiki-war/src/main/java/org/apache/wiki/auth/authorize/WebContainerAuthorizer.java 2016-08-24 12:52:23.168967489 +0200 @@ -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 -ruN jspwiki-war.orig/src/main/java/org/apache/wiki/auth/SecurityVerifier.java jspwiki-war/src/main/java/org/apache/wiki/auth/SecurityVerifier.java --- jspwiki-war.orig/src/main/java/org/apache/wiki/auth/SecurityVerifier.java 2016-08-24 12:37:35.216667397 +0200 +++ jspwiki-war/src/main/java/org/apache/wiki/auth/SecurityVerifier.java 2016-08-24 12:52:11.129439056 +0200 @@ -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( "\n" ); diff -ruN jspwiki-war.orig/src/main/java/org/apache/wiki/filters/SpamFilter.java jspwiki-war/src/main/java/org/apache/wiki/filters/SpamFilter.java --- jspwiki-war.orig/src/main/java/org/apache/wiki/filters/SpamFilter.java 2016-08-24 12:37:36.853485398 +0200 +++ jspwiki-war/src/main/java/org/apache/wiki/filters/SpamFilter.java 2016-08-24 12:53:27.322777821 +0200 @@ -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 -ruN jspwiki-war.orig/src/main/java/org/apache/wiki/InternalWikiException.java jspwiki-war/src/main/java/org/apache/wiki/InternalWikiException.java --- jspwiki-war.orig/src/main/java/org/apache/wiki/InternalWikiException.java 2016-08-24 12:37:36.661389397 +0200 +++ jspwiki-war/src/main/java/org/apache/wiki/InternalWikiException.java 2016-08-24 12:50:07.156349769 +0200 @@ -38,4 +38,16 @@ { super( msg ); } + + public InternalWikiException(String message, Throwable cause) + { + super(message, cause); + } + + public InternalWikiException(Throwable cause) + { + super(cause); + } + + } diff -ruN jspwiki-war.orig/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java jspwiki-war/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java --- jspwiki-war.orig/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java 2016-08-24 12:37:36.661389397 +0200 +++ jspwiki-war/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java 2016-08-24 12:53:53.499306210 +0200 @@ -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 -ruN jspwiki-war.orig/src/main/java/org/apache/wiki/parser/PluginContent.java jspwiki-war/src/main/java/org/apache/wiki/parser/PluginContent.java --- jspwiki-war.orig/src/main/java/org/apache/wiki/parser/PluginContent.java 2016-08-24 12:37:36.657387398 +0200 +++ jspwiki-war/src/main/java/org/apache/wiki/parser/PluginContent.java 2016-08-24 12:54:02.195842320 +0200 @@ -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 -ruN jspwiki-war.orig/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java jspwiki-war/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java --- jspwiki-war.orig/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java 2016-08-24 12:37:34.488303398 +0200 +++ jspwiki-war/src/main/java/org/apache/wiki/plugin/DefaultPluginManager.java 2016-08-24 12:54:11.800023189 +0200 @@ -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 -ruN jspwiki-war.orig/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java jspwiki-war/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java --- jspwiki-war.orig/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java 2016-08-24 12:37:33.663891398 +0200 +++ jspwiki-war/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java 2016-08-24 12:54:50.112252678 +0200 @@ -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 -ruN jspwiki-war.orig/src/main/java/org/apache/wiki/ReferenceManager.java jspwiki-war/src/main/java/org/apache/wiki/ReferenceManager.java --- jspwiki-war.orig/src/main/java/org/apache/wiki/ReferenceManager.java 2016-08-24 12:37:37.009563398 +0200 +++ jspwiki-war/src/main/java/org/apache/wiki/ReferenceManager.java 2016-08-24 12:51:00.687694409 +0200 @@ -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 -ruN jspwiki-war.orig/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java jspwiki-war/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java --- jspwiki-war.orig/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java 2016-08-24 12:37:35.844981398 +0200 +++ jspwiki-war/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java 2016-08-24 12:55:17.748208339 +0200 @@ -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 -ruN jspwiki-war.orig/src/main/java/org/apache/wiki/ui/CommandResolver.java jspwiki-war/src/main/java/org/apache/wiki/ui/CommandResolver.java --- jspwiki-war.orig/src/main/java/org/apache/wiki/ui/CommandResolver.java 2016-08-24 12:37:33.663891398 +0200 +++ jspwiki-war/src/main/java/org/apache/wiki/ui/CommandResolver.java 2016-08-24 12:55:40.261675562 +0200 @@ -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 diff -ruN jspwiki-war.orig/src/main/java/org/apache/wiki/WikiBackgroundThread.java jspwiki-war/src/main/java/org/apache/wiki/WikiBackgroundThread.java --- jspwiki-war.orig/src/main/java/org/apache/wiki/WikiBackgroundThread.java 2016-08-24 12:37:36.261189399 +0200 +++ jspwiki-war/src/main/java/org/apache/wiki/WikiBackgroundThread.java 2016-08-24 12:51:15.015553820 +0200 @@ -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 -ruN jspwiki-war.orig/src/main/java/org/apache/wiki/WikiEngine.java jspwiki-war/src/main/java/org/apache/wiki/WikiEngine.java --- jspwiki-war.orig/src/main/java/org/apache/wiki/WikiEngine.java 2016-08-24 12:37:36.077097397 +0200 +++ jspwiki-war/src/main/java/org/apache/wiki/WikiEngine.java 2016-08-24 12:51:54.474054622 +0200 @@ -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;