Author: rwesten Date: Mon Jul 18 08:45:15 2011 New Revision: 1147784 URL: http://svn.apache.org/viewvc?rev=1147784&view=rev Log: STANBOL-259: Now independent of the operating systems Unix style '/' are used to normalise configured search paths. Previously File.seperator was used causing the addition of a '\' at the end of configured search paths on Windows. This caused the Bundle.getResource(..) method to fail on providing resources on Windows
Modified: incubator/stanbol/trunk/commons/stanboltools/bundledatafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/bundle/impl/BundleDataFileProvider.java Modified: incubator/stanbol/trunk/commons/stanboltools/bundledatafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/bundle/impl/BundleDataFileProvider.java URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/stanboltools/bundledatafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/bundle/impl/BundleDataFileProvider.java?rev=1147784&r1=1147783&r2=1147784&view=diff ============================================================================== --- incubator/stanbol/trunk/commons/stanboltools/bundledatafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/bundle/impl/BundleDataFileProvider.java (original) +++ incubator/stanbol/trunk/commons/stanboltools/bundledatafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/bundle/impl/BundleDataFileProvider.java Mon Jul 18 08:45:15 2011 @@ -77,9 +77,14 @@ public class BundleDataFileProvider impl List<String> paths = new ArrayList<String>(searchPaths.size()); for(String path : searchPaths){ if(path == null){ //null element is interpreted as the "" path - path = File.separator; - } else if(!path.endsWith(File.separator)){ //normalise - path = path+File.separator; + path = "/"; + } else { + //we need Unix style '/' to search resources within bundles + //even on Windows! (see STANBOL-259) + path = FilenameUtils.separatorsToUnix(path); + if(!path.endsWith("/")){ //normalise + path = path+'/'; + } } if(!paths.contains(path)){ //do not add paths more than once paths.add(path); @@ -106,8 +111,6 @@ public class BundleDataFileProvider impl while(resource == null && relativePathIterator.hasNext()){ String path = relativePathIterator.next(); String resourceName = path != null ? path + filename : filename ; - //make the path platform independent (STANBOL-259) - resourceName = FilenameUtils.separatorsToSystem(resourceName); resource = bundle.getEntry(resourceName); } log.info("Resource {} found: {}", (resource == null ? "NOT" : ""), filename);