Author: sergeyb Date: Thu Jul 12 12:28:02 2012 New Revision: 1360656 URL: http://svn.apache.org/viewvc?rev=1360656&view=rev Log: Merged revisions 1360653 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes
................ r1360653 | sergeyb | 2012-07-12 13:23:35 +0100 (Thu, 12 Jul 2012) | 9 lines Merged revisions 1360444 via svnmerge from https://svn.apache.org/repos/asf/cxf/trunk ........ r1360444 | sergeyb | 2012-07-11 23:18:03 +0100 (Wed, 11 Jul 2012) | 1 line Updating ResourceUtils to try to convet a given resource to URL first before trying other options ........ ................ Modified: cxf/branches/2.5.x-fixes/ (props changed) cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/JAXBElementProviderTest.java Propchange: cxf/branches/2.5.x-fixes/ ------------------------------------------------------------------------------ Merged /cxf/trunk:r1360444 Merged /cxf/branches/2.6.x-fixes:r1360653 Propchange: cxf/branches/2.5.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java?rev=1360656&r1=1360655&r2=1360656&view=diff ============================================================================== --- cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java (original) +++ cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java Thu Jul 12 12:28:02 2012 @@ -395,18 +395,22 @@ public final class ResourceUtils { if (loc.startsWith(CLASSPATH_PREFIX)) { String path = loc.substring(CLASSPATH_PREFIX.length()); url = ResourceUtils.getClasspathResourceURL(path, ResourceUtils.class, bus); - if (url == null) { - LOG.warning("No classpath resource " + loc + " is available on classpath"); - return null; - } } else { - String actualLoc = loc.startsWith("file:") ? loc.substring(5) : loc; - File f = new File(actualLoc); - if (!f.exists()) { - LOG.warning("No file resource " + loc + " is available on local disk"); - return null; + try { + url = new URL(loc); + } catch (Exception ex) { + // it can be either a classpath or file resource without a scheme + url = ResourceUtils.getClasspathResourceURL(loc, ResourceUtils.class, bus); + if (url == null) { + File file = new File(loc); + if (file.exists()) { + url = file.toURI().toURL(); + } + } } - url = f.toURI().toURL(); + } + if (url == null) { + LOG.warning("No resource " + loc + " is available"); } return url; } Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/JAXBElementProviderTest.java URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/JAXBElementProviderTest.java?rev=1360656&r1=1360655&r2=1360656&view=diff ============================================================================== --- cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/JAXBElementProviderTest.java (original) +++ cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/JAXBElementProviderTest.java Thu Jul 12 12:28:02 2012 @@ -1191,7 +1191,7 @@ public class JAXBElementProviderTest ext List<String> locations = new ArrayList<String>(); String loc = getClass().getClassLoader().getResource("test.xsd").toURI().getPath(); - locations.add(loc); + locations.add("file:" + loc); provider.setSchemas(locations); Schema s = provider.getSchema(); assertNotNull("schema can not be read from disk", s); @@ -1224,7 +1224,7 @@ public class JAXBElementProviderTest ext JAXBElementProvider provider = new JAXBElementProvider(); List<String> locations = new ArrayList<String>(); String loc = getClass().getClassLoader().getResource("test.xsd").toURI().getPath(); - locations.add(loc); + locations.add("file:" + loc); provider.setSchemas(locations); Schema s = provider.getSchema(); assertNotNull("schema can not be read from disk", s);
