[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