assertNotNull("rewrite.test definition not found.",
definitions.getDefinition("rewrite.test"));
assertEquals("Incorrect initial template value", "/test.jsp",
definitions.getDefinition("rewrite.test").getTemplate());
ReloadableDefinitionsFactory reloadable = (ReloadableDefinitionsFactory) factory;
assertEquals("Factory should be fresh.", false,
reloadable.refreshRequired());
// Make sure the system actually updates the timestamp.
Thread.sleep(30000);
// Set up multiple data sources.
xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n" +
"<!DOCTYPE tiles-definitions PUBLIC " +
"\"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN\" " +
"\"http://tiles.apache.org/dtds/tiles-config_2_0.dtd\">\n\n" +
"<tiles-definitions>" +
"<definition name=\"rewrite.test\" template=\"/newtest.jsp\">" +
"<put-attribute name=\"testparm\" value=\"testval\"/>" +
"</definition>" +
"</tiles-definitions>";
file = new File(uri);
fileOut = new FileOutputStream(file);
writer = new BufferedWriter(new OutputStreamWriter(fileOut));
writer.write(xml);
writer.close();
assertEquals("Factory should be stale.", true,
reloadable.refreshRequired());
definitions = factory.readDefinitions();
assertNotNull("rewrite.test definition not found.",
definitions.getDefinition("rewrite.test"));
assertEquals("Incorrect initial template value", "/newtest.jsp",
definitions.getDefinition("rewrite.test").getTemplate());