[jboss-cvs] JBossAS SVN: r108283 - projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/config/xml.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Sep 22 13:32:35 EDT 2010
Author: pferraro
Date: 2010-09-22 13:32:34 -0400 (Wed, 22 Sep 2010)
New Revision: 108283
Modified:
projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/config/xml/XMLCacheContainerRegistryConfigurationSource.java
Log:
Add temporary workaround for ISPN-657.
Modified: projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/config/xml/XMLCacheContainerRegistryConfigurationSource.java
===================================================================
--- projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/config/xml/XMLCacheContainerRegistryConfigurationSource.java 2010-09-22 17:13:49 UTC (rev 108282)
+++ projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/config/xml/XMLCacheContainerRegistryConfigurationSource.java 2010-09-22 17:32:34 UTC (rev 108283)
@@ -21,6 +21,7 @@
*/
package org.jboss.ha.ispn.config.xml;
+import java.net.MalformedURLException;
import java.net.URL;
import java.util.Collections;
import java.util.Map;
@@ -33,10 +34,12 @@
import javax.xml.transform.sax.SAXSource;
import javax.xml.validation.SchemaFactory;
+import org.infinispan.Version;
import org.infinispan.config.InfinispanConfiguration;
import org.infinispan.config.parsing.NamespaceFilter;
import org.jboss.ha.ispn.config.CacheContainerRegistryConfiguration;
import org.jboss.ha.ispn.config.CacheContainerRegistryConfigurationSource;
+import org.jboss.logging.Logger;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
@@ -54,6 +57,8 @@
private static final String INFINISPAN_NAMESPACE = NamespaceFilter.ISPN_NS;
private static final String INFINISPAN_SCHEMA = InfinispanConfiguration.resolveSchemaPath();
+ private static final Logger log = Logger.getLogger(XMLCacheContainerRegistryConfigurationSource.class);
+
private final URL infinispanSchemaURL;
private final URL schemaURL;
private final URL xmlURL;
@@ -76,8 +81,32 @@
{
this.xmlURL = url;
this.schemaURL = findResource(SCHEMA);
- this.infinispanSchemaURL = findResource(INFINISPAN_SCHEMA);
+ this.infinispanSchemaURL = findResource(INFINISPAN_SCHEMA, String.format("http://infinispan.org/schemas/infinispan-config-%s.xsd", Version.getMajorVersion()));
}
+
+ private URL findResource(String... resources)
+ {
+ RuntimeException exception = null;
+
+ for (String resource: resources)
+ {
+ try
+ {
+ return findResource(resource);
+ }
+ catch (RuntimeException e)
+ {
+ if (exception != null)
+ {
+ log.warn(exception.getMessage());
+ }
+
+ exception = e;
+ }
+ }
+
+ throw exception;
+ }
/**
* Creates a new XMLCacheContainerRegistryConfigurationSource using the specified classpath resource containing
@@ -91,14 +120,21 @@
private static URL findResource(String resource)
{
- URL url = Thread.currentThread().getContextClassLoader().getResource(resource);
-
- if (url == null)
+ try
{
- throw new IllegalArgumentException("Failed to locate resource: " + resource);
+ return new URL(resource);
}
-
- return url;
+ catch (MalformedURLException e)
+ {
+ URL url = Thread.currentThread().getContextClassLoader().getResource(resource);
+
+ if (url == null)
+ {
+ throw new IllegalArgumentException("Failed to locate resource: " + resource);
+ }
+
+ return url;
+ }
}
/**
More information about the jboss-cvs-commits
mailing list