|
|
|
@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
|
|
|
|
|
/* |
|
|
|
|
* Copyright 2002-2017 the original author or authors. |
|
|
|
|
* Copyright 2002-2018 the original author or authors. |
|
|
|
|
* |
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
@ -31,9 +31,9 @@ import org.springframework.util.ReflectionUtils;
@@ -31,9 +31,9 @@ import org.springframework.util.ReflectionUtils;
|
|
|
|
|
/** |
|
|
|
|
* Utility for detecting and accessing JBoss VFS in the classpath. |
|
|
|
|
* |
|
|
|
|
* <p>As of Spring 4.0, this class supports VFS 3.x on JBoss AS 6+ (package |
|
|
|
|
* {@code org.jboss.vfs}) and is in particular compatible with JBoss AS 7 and |
|
|
|
|
* WildFly 8. |
|
|
|
|
* <p>As of Spring 4.0, this class supports VFS 3.x on JBoss AS 6+ |
|
|
|
|
* (package {@code org.jboss.vfs}) and is in particular compatible with |
|
|
|
|
* JBoss AS 7 and WildFly 8+. |
|
|
|
|
* |
|
|
|
|
* <p>Thanks go to Marius Bogoevici for the initial patch. |
|
|
|
|
* <b>Note:</b> This is an internal class and should not be used outside the framework. |
|
|
|
@ -58,13 +58,13 @@ public abstract class VfsUtils {
@@ -58,13 +58,13 @@ public abstract class VfsUtils {
|
|
|
|
|
private static final Method VIRTUAL_FILE_METHOD_TO_URI; |
|
|
|
|
private static final Method VIRTUAL_FILE_METHOD_GET_NAME; |
|
|
|
|
private static final Method VIRTUAL_FILE_METHOD_GET_PATH_NAME; |
|
|
|
|
private static final Method VIRTUAL_FILE_METHOD_GET_PHYSICAL_FILE; |
|
|
|
|
private static final Method VIRTUAL_FILE_METHOD_GET_CHILD; |
|
|
|
|
|
|
|
|
|
protected static final Class<?> VIRTUAL_FILE_VISITOR_INTERFACE; |
|
|
|
|
protected static final Method VIRTUAL_FILE_METHOD_VISIT; |
|
|
|
|
|
|
|
|
|
private static final Field VISITOR_ATTRIBUTES_FIELD_RECURSE; |
|
|
|
|
private static final Method GET_PHYSICAL_FILE; |
|
|
|
|
|
|
|
|
|
static { |
|
|
|
|
ClassLoader loader = VfsUtils.class.getClassLoader(); |
|
|
|
@ -82,7 +82,7 @@ public abstract class VfsUtils {
@@ -82,7 +82,7 @@ public abstract class VfsUtils {
|
|
|
|
|
VIRTUAL_FILE_METHOD_TO_URL = virtualFile.getMethod("toURL"); |
|
|
|
|
VIRTUAL_FILE_METHOD_GET_NAME = virtualFile.getMethod("getName"); |
|
|
|
|
VIRTUAL_FILE_METHOD_GET_PATH_NAME = virtualFile.getMethod("getPathName"); |
|
|
|
|
GET_PHYSICAL_FILE = virtualFile.getMethod("getPhysicalFile"); |
|
|
|
|
VIRTUAL_FILE_METHOD_GET_PHYSICAL_FILE = virtualFile.getMethod("getPhysicalFile"); |
|
|
|
|
VIRTUAL_FILE_METHOD_GET_CHILD = virtualFile.getMethod("getChild", String.class); |
|
|
|
|
|
|
|
|
|
VIRTUAL_FILE_VISITOR_INTERFACE = loader.loadClass(VFS3_PKG + "VirtualFileVisitor"); |
|
|
|
@ -125,7 +125,7 @@ public abstract class VfsUtils {
@@ -125,7 +125,7 @@ public abstract class VfsUtils {
|
|
|
|
|
|
|
|
|
|
static boolean isReadable(Object vfsResource) { |
|
|
|
|
try { |
|
|
|
|
return ((Long) invokeVfsMethod(VIRTUAL_FILE_METHOD_GET_SIZE, vfsResource) > 0); |
|
|
|
|
return (Long) invokeVfsMethod(VIRTUAL_FILE_METHOD_GET_SIZE, vfsResource) > 0; |
|
|
|
|
} |
|
|
|
|
catch (IOException ex) { |
|
|
|
|
return false; |
|
|
|
@ -170,7 +170,7 @@ public abstract class VfsUtils {
@@ -170,7 +170,7 @@ public abstract class VfsUtils {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static File getFile(Object vfsResource) throws IOException { |
|
|
|
|
return (File) invokeVfsMethod(GET_PHYSICAL_FILE, vfsResource); |
|
|
|
|
return (File) invokeVfsMethod(VIRTUAL_FILE_METHOD_GET_PHYSICAL_FILE, vfsResource); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static Object getRoot(URI url) throws IOException { |
|
|
|
|