Avoid the file content caching system as attributes may be changed externally
git-svn-id: https://svn.apache.org/repos/asf/geronimo/gshell/trunk@757410 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/gshell-support/gshell-vfs-meta/src/main/java/org/apache/geronimo/gshell/vfs/provider/meta/MetaFileObject.java b/gshell-support/gshell-vfs-meta/src/main/java/org/apache/geronimo/gshell/vfs/provider/meta/MetaFileObject.java
index 8638cd9..6f34ca7 100644
--- a/gshell-support/gshell-vfs-meta/src/main/java/org/apache/geronimo/gshell/vfs/provider/meta/MetaFileObject.java
+++ b/gshell-support/gshell-vfs-meta/src/main/java/org/apache/geronimo/gshell/vfs/provider/meta/MetaFileObject.java
@@ -22,7 +22,10 @@
import org.apache.commons.vfs.FileContentInfoFactory;
import org.apache.commons.vfs.FileName;
import org.apache.commons.vfs.FileType;
+import org.apache.commons.vfs.FileContent;
+import org.apache.commons.vfs.FileSystemException;
import org.apache.commons.vfs.provider.AbstractFileObject;
+import org.apache.commons.vfs.provider.DefaultFileContent;
import org.apache.geronimo.gshell.vfs.provider.meta.data.MetaData;
import java.io.ByteArrayInputStream;
@@ -40,6 +43,7 @@
private final MetaFileSystem fileSystem;
private MetaData data;
+ private FileContent content;
public MetaFileObject(final FileName fileName, final MetaFileSystem fileSystem) {
super(fileName, fileSystem);
@@ -52,7 +56,7 @@
if (data == null) {
throw new IllegalStateException("Meta data has not been attached");
}
-
+
return data;
}
@@ -121,10 +125,18 @@
if (data == null) {
data = fileSystem.lookupData(this);
}
+ content = new DefaultFileContent(this, getFileContentInfoFactory());
}
@Override
protected void doDetach() throws Exception {
data = null;
+ content = null;
+ }
+
+ @Override
+ public FileContent getContent() throws FileSystemException {
+ super.getContent();
+ return content;
}
}
\ No newline at end of file