[infinispan-commits] Infinispan SVN: r654 - in trunk: core/src/main/java/org/infinispan/manager and 2 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Wed Aug 12 05:11:00 EDT 2009
Author: vblagojevic at jboss.com
Date: 2009-08-12 05:11:00 -0400 (Wed, 12 Aug 2009)
New Revision: 654
Modified:
trunk/cachestore/jdbc/src/test/java/org/infinispan/config/parsing/JdbcConfigurationParserTest.java
trunk/core/src/main/java/org/infinispan/manager/DefaultCacheManager.java
trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java
trunk/core/src/test/resources/configs/named-cache-test.xml
Log:
[ISPN-154] - DefaultCacheManager should validate XML configurations by default
fix broken test
Modified: trunk/cachestore/jdbc/src/test/java/org/infinispan/config/parsing/JdbcConfigurationParserTest.java
===================================================================
--- trunk/cachestore/jdbc/src/test/java/org/infinispan/config/parsing/JdbcConfigurationParserTest.java 2009-08-12 07:23:28 UTC (rev 653)
+++ trunk/cachestore/jdbc/src/test/java/org/infinispan/config/parsing/JdbcConfigurationParserTest.java 2009-08-12 09:11:00 UTC (rev 654)
@@ -1,7 +1,10 @@
package org.infinispan.config.parsing;
+import java.util.Map;
+
import org.infinispan.config.CacheLoaderManagerConfig;
import org.infinispan.config.Configuration;
+import org.infinispan.config.InfinispanConfiguration;
import org.infinispan.loaders.CacheStoreConfig;
import org.infinispan.loaders.decorators.SingletonStoreConfig;
import org.infinispan.loaders.jdbc.TableManipulation;
@@ -10,35 +13,15 @@
import org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore;
import org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStoreConfig;
import org.testng.annotations.Test;
-import org.w3c.dom.Element;
@Test(groups = "unit", testName = "config.parsing.JdbcConfigurationParserTest")
public class JdbcConfigurationParserTest {
+
public void testCacheLoaders() throws Exception {
- XmlConfigurationParserImpl parser = new XmlConfigurationParserImpl();
- String xml =
- " <loaders passivation=\"true\" shared=\"true\" preload=\"true\">\n" +
- " <loader class=\"org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore\" fetchPersistentState=\"true\"\n" +
- " ignoreModifications=\"true\" purgeOnStartup=\"true\">\n" +
- " <properties>\n" +
- " <property name=\"connectionFactoryClass\" value=\"org.infinispan.loaders.jdbc.connectionfactory.PooledConnectionFactory\"/>\n" +
- " <property name=\"connectionUrl\" value=\"jdbc://some-url\"/>\n" +
- " <property name=\"userName\" value=\"root\"/>\n" +
- " <property name=\"driverClass\" value=\"org.dbms.Driver\"/>\n" +
- " <property name=\"idColumnType\" value=\"VARCHAR2(256)\"/>\n" +
- " <property name=\"dataColumnType\" value=\"BLOB\"/>\n" +
- " <property name=\"dropTableOnExit\" value=\"true\"/>\n" +
- " <property name=\"createTableOnStart\" value=\"false\"/>\n" +
- " </properties>\n" +
- " <singletonStore enabled=\"true\" pushStateWhenCoordinator=\"true\" pushStateTimeout=\"20000\"/>\n" +
- " <async enabled=\"true\" threadPoolSize=\"10\" mapLockTimeout=\"10000\"/>\n" +
- " </loader>\n" +
- " </loaders> ";
- Element e = XmlConfigHelper.stringToElement(xml);
-
- Configuration c = new Configuration();
- parser.configureCacheLoaders(e, c);
-
+
+ InfinispanConfiguration configuration = InfinispanConfiguration.newInfinispanConfiguration("configs/named-cache-test.xml");
+ Map<String, Configuration> namedConfigurations = configuration.parseNamedConfigurations();
+ Configuration c = namedConfigurations.get("withJDBCLoader");
CacheLoaderManagerConfig clc = c.getCacheLoaderManagerConfig();
assert clc != null;
assert clc.isFetchPersistentState();
Modified: trunk/core/src/main/java/org/infinispan/manager/DefaultCacheManager.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/manager/DefaultCacheManager.java 2009-08-12 07:23:28 UTC (rev 653)
+++ trunk/core/src/main/java/org/infinispan/manager/DefaultCacheManager.java 2009-08-12 09:11:00 UTC (rev 654)
@@ -41,7 +41,9 @@
import org.infinispan.notifications.cachemanagerlistener.CacheManagerNotifier;
import org.infinispan.remoting.transport.Address;
import org.infinispan.remoting.transport.Transport;
+import org.infinispan.util.FileLookup;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
@@ -203,8 +205,9 @@
* @throws java.io.IOException if there is a problem with the configuration file.
*/
public DefaultCacheManager(String configurationFile, boolean start) throws IOException {
+ String schemaFileName = "schema/infinispan-config-" +Version.getMajorVersion()+ ".xsd";
try {
- initialize(InfinispanConfiguration.newInfinispanConfiguration(configurationFile));
+ initialize(InfinispanConfiguration.newInfinispanConfiguration(configurationFile,schemaFileName));
}
catch (RuntimeException re) {
throw new ConfigurationException(re);
@@ -234,8 +237,15 @@
* @throws java.io.IOException if there is a problem reading the configuration stream
*/
public DefaultCacheManager(InputStream configurationStream, boolean start) throws IOException {
+ String schemaFileName = "schema/infinispan-config-" +Version.getMajorVersion()+ ".xsd";
+ FileLookup fileLookup = new FileLookup();
+ InputStream schemaStream = fileLookup.lookupFile(schemaFileName);
+ if (schemaStream == null)
+ throw new FileNotFoundException("Schema file " +schemaFileName
+ + " could not be found, either on the classpath or on the file system!");
+
try {
- initialize(InfinispanConfiguration.newInfinispanConfiguration(configurationStream));
+ initialize(InfinispanConfiguration.newInfinispanConfiguration(configurationStream,schemaStream));
} catch (ConfigurationException ce) {
throw ce;
} catch (RuntimeException re) {
Modified: trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java 2009-08-12 07:23:28 UTC (rev 653)
+++ trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java 2009-08-12 09:11:00 UTC (rev 654)
@@ -3,6 +3,7 @@
import java.io.IOException;
import java.util.Map;
+import org.infinispan.Version;
import org.infinispan.config.CacheLoaderManagerConfig;
import org.infinispan.config.Configuration;
import org.infinispan.config.GlobalConfiguration;
@@ -18,8 +19,9 @@
public class XmlFileParsingTest {
public void testNamedCacheFileJaxb() throws Exception {
+ String schemaFileName = "infinispan-config-" +Version.getMajorVersion()+ ".xsd";
testNamedCacheFile(InfinispanConfiguration.newInfinispanConfiguration(
- "configs/named-cache-test.xml", "schema/infinispan-config-4.0.xsd"));
+ "configs/named-cache-test.xml","schema/"+schemaFileName));
}
public void testConfigurationMergingJaxb() throws Exception {
Modified: trunk/core/src/test/resources/configs/named-cache-test.xml
===================================================================
--- trunk/core/src/test/resources/configs/named-cache-test.xml 2009-08-12 07:23:28 UTC (rev 653)
+++ trunk/core/src/test/resources/configs/named-cache-test.xml 2009-08-12 09:11:00 UTC (rev 654)
@@ -144,6 +144,31 @@
<jmxStatistics enabled="false"/>
<deadlockDetection enabled="true" spinDuration="1221"/>
</namedCache>
+
+ <namedCache name="withJDBCLoader">
+ <clustering>
+ <sync replTimeout="20000"/>
+ </clustering>
+ <jmxStatistics enabled="false"/>
+ <deadlockDetection enabled="true" spinDuration="1221"/>
+ <loaders passivation="true" shared="true" preload="true">
+ <loader class="org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore" fetchPersistentState="true"
+ ignoreModifications="true" purgeOnStartup="true">
+ <properties>
+ <property name="connectionFactoryClass" value="org.infinispan.loaders.jdbc.connectionfactory.PooledConnectionFactory"/>
+ <property name="connectionUrl" value="jdbc://some-url"/>
+ <property name="userName" value="root"/>
+ <property name="driverClass" value="org.dbms.Driver"/>
+ <property name="idColumnType" value="VARCHAR2(256)"/>
+ <property name="dataColumnType" value="BLOB"/>
+ <property name="dropTableOnExit" value="true"/>
+ <property name="createTableOnStart" value="false"/>
+ </properties>
+ <singletonStore enabled="true" pushStateWhenCoordinator="true" pushStateTimeout="20000"/>
+ <async enabled="true" threadPoolSize="10" mapLockTimeout="10000"/>
+ </loader>
+ </loaders>
+ </namedCache>
<namedCache name="cacheWithCustomInterceptors">
More information about the infinispan-commits
mailing list