Merge from trunk to TILES_2_0_X branch.
TILES-223
Now validation is turned ON by default.
TILES-225
Now the DefinitionsFactoryException is a normal implementation of an extended exception.
git-svn-id: https://svn.apache.org/repos/asf/tiles/framework/branches/TILES_2_0_X@585406 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsFactoryException.java b/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsFactoryException.java
index 41d7639..1670fe7 100644
--- a/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsFactoryException.java
+++ b/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsFactoryException.java
@@ -36,7 +36,6 @@
*/
public DefinitionsFactoryException() {
super();
- this.exception = null;
}
/**
@@ -46,7 +45,6 @@
*/
public DefinitionsFactoryException(String message) {
super(message);
- this.exception = null;
}
@@ -60,8 +58,7 @@
* @param e The exception to be wrapped.
*/
public DefinitionsFactoryException(Exception e) {
- super();
- this.exception = e;
+ super(e);
}
@@ -75,49 +72,6 @@
* @param e The exception to be wrapped.
*/
public DefinitionsFactoryException(String message, Exception e) {
- super(message);
- this.exception = e;
+ super(message, e);
}
-
-
- /**
- * Return a detail message for this exception.
- * <p/>
- * <p>If there is a embedded exception, and if the DefinitionsFactoryException
- * has no detail message of its own, this method will return
- * the detail message from the embedded exception.</p>
- *
- * @return The error or warning message.
- */
- public String getMessage() {
- String message = super.getMessage();
-
- if (message == null && exception != null) {
- return exception.getMessage();
- } else {
- return message;
- }
- }
-
-
- /**
- * Return the embedded exception, if any.
- *
- * @return The embedded exception, or <code>null</code> if there is none.
- */
- public Exception getException() {
- return exception;
- }
-
- //////////////////////////////////////////////////////////////////////
- // Internal state.
- //////////////////////////////////////////////////////////////////////
-
-
- /**
- * Any "wrapped" exception will be exposed when this is serialized.
- *
- * @serial
- */
- private Exception exception;
}
diff --git a/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java b/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java
index 25cf2f2..469b0f0 100644
--- a/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java
+++ b/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java
@@ -166,9 +166,9 @@
private Map<String, Definition> definitions;
/**
* Should we use a validating XML parser to read the configuration file.
- * Default is <code>false</code>.
+ * Default is <code>true</code>.
*/
- protected boolean validating = false;
+ protected boolean validating = true;
/**
* The set of public identifiers, and corresponding resource names for
* the versions of the configuration file DTDs we know about. There
diff --git a/tiles-core/src/test/java/org/apache/tiles/definition/digester/TestDigesterDefinitionsReader.java b/tiles-core/src/test/java/org/apache/tiles/definition/digester/TestDigesterDefinitionsReader.java
index 700a63c..9c1a732 100644
--- a/tiles-core/src/test/java/org/apache/tiles/definition/digester/TestDigesterDefinitionsReader.java
+++ b/tiles-core/src/test/java/org/apache/tiles/definition/digester/TestDigesterDefinitionsReader.java
@@ -198,11 +198,10 @@
* configuration file with invalid XML.
*/
public void testValidatingParameter() {
+ // Testing with default (validation ON).
try {
DefinitionsReader reader = new DigesterDefinitionsReader();
Map<String, String> params = new HashMap<String, String>();
- params.put(DigesterDefinitionsReader.PARSER_VALIDATE_PARAMETER_NAME,
- "true");
reader.init(params);
URL configFile = this.getClass().getClassLoader().getResource(
@@ -220,5 +219,25 @@
} catch (Exception e) {
fail("Exception reading configuration." + e);
}
+
+ // Testing with validation OFF.
+ try {
+ DefinitionsReader reader = new DigesterDefinitionsReader();
+ Map<String, String> params = new HashMap<String, String>();
+ params.put(DigesterDefinitionsReader.PARSER_VALIDATE_PARAMETER_NAME,
+ "false");
+ reader.init(params);
+
+ URL configFile = this.getClass().getClassLoader().getResource(
+ "org/apache/tiles/config/invalid-defs.xml");
+ assertNotNull("Config file not found", configFile);
+
+ InputStream source = configFile.openStream();
+ reader.read(source);
+ } catch (DefinitionsFactoryException e) {
+ fail("Should not have thrown an exception." + e);
+ } catch (Exception e) {
+ fail("Exception reading configuration." + e);
+ }
}
}