diff --git a/spring-core/src/main/java/org/springframework/core/io/VfsResource.java b/spring-core/src/main/java/org/springframework/core/io/VfsResource.java index 267a906db9fe9f80b4a03e8870a38576b6f5d0c3..3096c4a01ceaebbf258cf2b8b72882d90f47bfea 100644 --- a/spring-core/src/main/java/org/springframework/core/io/VfsResource.java +++ b/spring-core/src/main/java/org/springframework/core/io/VfsResource.java @@ -28,9 +28,9 @@ import org.springframework.util.Assert; /** * JBoss VFS based {@link Resource} implementation. * - *

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. + *

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+. * * @author Ales Justin * @author Juergen Hoeller @@ -44,6 +44,11 @@ public class VfsResource extends AbstractResource { private final Object resource; + /** + * Create a new {@code VfsResource} wrapping the given resource handle. + * @param resource a {@code org.jboss.vfs.VirtualFile} instance + * (untyped in order to avoid a static dependency on the VFS API) + */ public VfsResource(Object resource) { Assert.notNull(resource, "VirtualFile must not be null"); this.resource = resource; diff --git a/spring-core/src/main/java/org/springframework/core/io/VfsUtils.java b/spring-core/src/main/java/org/springframework/core/io/VfsUtils.java index 3eea2f8d9da15b301582c42e7bf4ec49719cde4d..ea19afb73939f9f1844b781e3e9d5665aa67648a 100644 --- a/spring-core/src/main/java/org/springframework/core/io/VfsUtils.java +++ b/spring-core/src/main/java/org/springframework/core/io/VfsUtils.java @@ -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; /** * Utility for detecting and accessing JBoss VFS in the classpath. * - *

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. + *

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+. * *

Thanks go to Marius Bogoevici for the initial patch. * Note: This is an internal class and should not be used outside the framework. @@ -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 { 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 { 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 { } 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 {