Replaced the file server code with the Alfresco JLAN project.

Restructured the file server code packages.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@7757 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gary Spencer
2008-01-06 16:44:00 +00:00
parent 0a7fef92aa
commit 6478d72321
396 changed files with 6336 additions and 118542 deletions

View File

@@ -27,12 +27,12 @@ import java.util.Map;
import org.alfresco.filesys.alfresco.AlfrescoContext;
import org.alfresco.filesys.alfresco.IOControlHandler;
import org.alfresco.filesys.server.filesys.DiskInterface;
import org.alfresco.filesys.server.filesys.FileName;
import org.alfresco.filesys.server.filesys.FileSystem;
import org.alfresco.filesys.server.filesys.NotifyChange;
import org.alfresco.filesys.server.state.FileState;
import org.alfresco.filesys.server.state.FileStateTable;
import org.alfresco.filesys.state.FileState;
import org.alfresco.filesys.state.FileStateTable;
import org.alfresco.jlan.server.filesys.DiskInterface;
import org.alfresco.jlan.server.filesys.FileName;
import org.alfresco.jlan.server.filesys.FileSystem;
import org.alfresco.jlan.server.filesys.NotifyChange;
import org.alfresco.repo.avm.CreateStoreCallback;
import org.alfresco.repo.avm.CreateVersionCallback;
import org.alfresco.repo.avm.PurgeStoreCallback;

View File

@@ -36,30 +36,30 @@ import javax.transaction.UserTransaction;
import org.alfresco.config.ConfigElement;
import org.alfresco.filesys.alfresco.AlfrescoDiskDriver;
import org.alfresco.filesys.server.SrvSession;
import org.alfresco.filesys.server.auth.ClientInfo;
import org.alfresco.filesys.server.core.DeviceContext;
import org.alfresco.filesys.server.core.DeviceContextException;
import org.alfresco.filesys.server.core.DeviceInterface;
import org.alfresco.filesys.server.filesys.AccessDeniedException;
import org.alfresco.filesys.server.filesys.DirectoryNotEmptyException;
import org.alfresco.filesys.server.filesys.DiskInterface;
import org.alfresco.filesys.server.filesys.FileAttribute;
import org.alfresco.filesys.server.filesys.FileExistsException;
import org.alfresco.filesys.server.filesys.FileInfo;
import org.alfresco.filesys.server.filesys.FileName;
import org.alfresco.filesys.server.filesys.FileOpenParams;
import org.alfresco.filesys.server.filesys.FileStatus;
import org.alfresco.filesys.server.filesys.NetworkFile;
import org.alfresco.filesys.server.filesys.PathNotFoundException;
import org.alfresco.filesys.server.filesys.SearchContext;
import org.alfresco.filesys.server.filesys.TreeConnection;
import org.alfresco.filesys.server.pseudo.PseudoFile;
import org.alfresco.filesys.server.pseudo.PseudoFileList;
import org.alfresco.filesys.server.pseudo.PseudoFolderNetworkFile;
import org.alfresco.filesys.server.state.FileState;
import org.alfresco.filesys.util.StringList;
import org.alfresco.filesys.util.WildCard;
import org.alfresco.filesys.state.FileState;
import org.alfresco.jlan.server.SrvSession;
import org.alfresco.jlan.server.auth.ClientInfo;
import org.alfresco.jlan.server.core.DeviceContext;
import org.alfresco.jlan.server.core.DeviceContextException;
import org.alfresco.jlan.server.core.DeviceInterface;
import org.alfresco.jlan.server.filesys.AccessDeniedException;
import org.alfresco.jlan.server.filesys.DirectoryNotEmptyException;
import org.alfresco.jlan.server.filesys.DiskInterface;
import org.alfresco.jlan.server.filesys.FileAttribute;
import org.alfresco.jlan.server.filesys.FileExistsException;
import org.alfresco.jlan.server.filesys.FileInfo;
import org.alfresco.jlan.server.filesys.FileName;
import org.alfresco.jlan.server.filesys.FileOpenParams;
import org.alfresco.jlan.server.filesys.FileStatus;
import org.alfresco.jlan.server.filesys.NetworkFile;
import org.alfresco.jlan.server.filesys.PathNotFoundException;
import org.alfresco.jlan.server.filesys.SearchContext;
import org.alfresco.jlan.server.filesys.TreeConnection;
import org.alfresco.jlan.server.filesys.pseudo.PseudoFile;
import org.alfresco.jlan.server.filesys.pseudo.PseudoFileList;
import org.alfresco.jlan.server.filesys.pseudo.PseudoFolderNetworkFile;
import org.alfresco.jlan.util.StringList;
import org.alfresco.jlan.util.WildCard;
import org.alfresco.model.WCMAppModel;
import org.alfresco.repo.avm.CreateStoreTxnListener;
import org.alfresco.repo.avm.CreateVersionTxnListener;
@@ -130,7 +130,6 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Services and helpers
private AVMService m_avmService;
private TransactionService m_transactionService;
private MimetypeService m_mimetypeService;
private AuthenticationComponent m_authComponent;
private AuthenticationService m_authService;
@@ -174,16 +173,6 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
return m_authService;
}
/**
* Return the transaction service
*
* @return TransactionService
*/
public final TransactionService getTransactionService()
{
return m_transactionService;
}
/**
* Set the AVM service
*
@@ -195,17 +184,6 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
m_avmService = avmService;
}
/**
* Set the transaction service
*
* @param transactionService
* the transaction service
*/
public void setTransactionService(TransactionService transactionService)
{
m_transactionService = transactionService;
}
/**
* Set the authentication component
*
@@ -307,16 +285,12 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
* Parse and validate the parameter string and create a device context object for this instance of the shared
* device.
*
* @param devIface
* DeviceInterface
* @param name
* String
* @param cfg
* ConfigElement
* @param shareName String
* @param cfg ConfigElement
* @return DeviceContext
* @exception DeviceContextException
*/
public DeviceContext createContext(DeviceInterface devIface, String name, ConfigElement cfg)
public DeviceContext createContext(String shareName, ConfigElement cfg)
throws DeviceContextException
{
// Use the system user as the authenticated context for the filesystem initialization
@@ -328,7 +302,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Wrap the initialization in a transaction
UserTransaction tx = m_transactionService.getUserTransaction(false);
UserTransaction tx = getTransactionService().getUserTransaction(false);
AVMContext context = null;
@@ -385,7 +359,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Create the context
context = new AVMContext(name, showOptions, this);
context = new AVMContext(shareName, showOptions, this);
// Enable file state caching
@@ -558,7 +532,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Create the context
context = new AVMContext(name, storePath, version);
context = new AVMContext(shareName, storePath, version);
// Enable file state caching
@@ -622,7 +596,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Wrap the service request in a transaction
UserTransaction tx = m_transactionService.getUserTransaction(false);
UserTransaction tx = getTransactionService().getUserTransaction(false);
StringList storeNames = new StringList();
@@ -697,7 +671,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Wrap the service request in a transaction
UserTransaction tx = m_transactionService.getUserTransaction(false);
UserTransaction tx = getTransactionService().getUserTransaction(false);
Map<QName, PropertyValue> properties = null;
@@ -808,7 +782,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Start a transaction if the file has been updated
if ( file.getWriteCount() > 0)
sess.beginWriteTransaction( m_transactionService);
beginWriteTransaction( sess);
// Close the file
@@ -870,7 +844,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Create a new file
sess.beginWriteTransaction(m_transactionService);
beginWriteTransaction( sess);
try
{
@@ -942,7 +916,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Create a new file
sess.beginWriteTransaction(m_transactionService);
beginWriteTransaction( sess);
AVMNetworkFile netFile = null;
@@ -1032,7 +1006,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Make sure the path is to a folder before deleting it
sess.beginWriteTransaction(m_transactionService);
beginWriteTransaction( sess);
try
{
@@ -1100,7 +1074,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Make sure the path is to a file before deleting it
sess.beginWriteTransaction(m_transactionService);
beginWriteTransaction( sess);
try
{
@@ -1214,7 +1188,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Search for the file/folder
sess.beginReadTransaction(m_transactionService);
beginReadTransaction( sess);
AVMNodeDescriptor nodeDesc = m_avmService.lookup(storePath.getVersion(), storePath.getAVMPath());
@@ -1270,7 +1244,16 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Convert the relative path to a store path
AVMContext ctx = (AVMContext) tree.getContext();
AVMPath storePath = buildStorePath( ctx, name, sess);
AVMPath storePath = null;
try
{
storePath = buildStorePath( ctx, name, sess);
}
catch ( Exception ex)
{
throw new FileNotFoundException( name);
}
// DEBUG
@@ -1314,7 +1297,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Search for the file/folder
sess.beginReadTransaction( m_transactionService);
beginReadTransaction( sess);
FileInfo info = null;
@@ -1465,7 +1448,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Search for the file/folder
sess.beginReadTransaction(m_transactionService);
beginReadTransaction( sess);
AVMNetworkFile netFile = null;
@@ -1550,7 +1533,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
AVMNetworkFile avmFile = (AVMNetworkFile) file;
if (avmFile.hasContentChannel() == false)
sess.beginReadTransaction(m_transactionService);
beginReadTransaction( sess);
// Read the file
@@ -1612,7 +1595,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Start a transaction for the rename
sess.beginWriteTransaction(m_transactionService);
beginWriteTransaction( sess);
try
{
@@ -1662,7 +1645,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
AVMNetworkFile avmFile = (AVMNetworkFile) file;
if (avmFile.hasContentChannel() == false)
sess.beginReadTransaction(m_transactionService);
beginReadTransaction( sess);
// Set the file position
@@ -1819,7 +1802,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
// Check if the path is a wildcard search
sess.beginReadTransaction(m_transactionService);
beginReadTransaction( sess);
SearchContext context = null;
if (WildCard.containsWildcards(searchPath))
@@ -1908,7 +1891,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
AVMNetworkFile avmFile = (AVMNetworkFile) file;
if (avmFile.hasContentChannel() == false || avmFile.isWritable() == false)
sess.beginWriteTransaction(m_transactionService);
beginWriteTransaction( sess);
// Truncate or extend the file
@@ -1950,7 +1933,7 @@ public class AVMDiskDriver extends AlfrescoDiskDriver implements DiskInterface
AVMNetworkFile avmFile = (AVMNetworkFile) file;
if (avmFile.hasContentChannel() == false || avmFile.isWritable() == false)
sess.beginWriteTransaction(m_transactionService);
beginWriteTransaction( sess);
// Write the data to the file

View File

@@ -28,10 +28,11 @@ import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.filesys.server.filesys.AccessDeniedException;
import org.alfresco.filesys.server.filesys.FileAttribute;
import org.alfresco.filesys.server.filesys.NetworkFile;
import org.alfresco.filesys.smb.SeekType;
import org.alfresco.filesys.alfresco.AlfrescoNetworkFile;
import org.alfresco.jlan.server.filesys.AccessDeniedException;
import org.alfresco.jlan.server.filesys.FileAttribute;
import org.alfresco.jlan.server.filesys.NetworkFile;
import org.alfresco.jlan.smb.SeekType;
import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
import org.alfresco.service.cmr.avm.AVMService;
import org.alfresco.service.cmr.repository.ContentReader;
@@ -46,7 +47,7 @@ import org.apache.commons.logging.LogFactory;
*
* @author GKSpencer
*/
public class AVMNetworkFile extends NetworkFile {
public class AVMNetworkFile extends AlfrescoNetworkFile {
// Logging
@@ -218,7 +219,7 @@ public class AVMNetworkFile extends NetworkFile {
// Write to the channel
ByteBuffer byteBuffer = ByteBuffer.wrap(buf, pos, len);
int count = m_channel.write(byteBuffer, fileOff);
m_channel.write(byteBuffer, fileOff);
// Set modification flag

View File

@@ -23,7 +23,7 @@
package org.alfresco.filesys.avm;
import org.alfresco.filesys.server.filesys.FileName;
import org.alfresco.jlan.server.filesys.FileName;
/**
* AVM Path Class

View File

@@ -23,11 +23,11 @@
package org.alfresco.filesys.avm;
import org.alfresco.filesys.server.filesys.FileAttribute;
import org.alfresco.filesys.server.filesys.FileInfo;
import org.alfresco.filesys.server.filesys.FileName;
import org.alfresco.filesys.server.filesys.SearchContext;
import org.alfresco.filesys.util.WildCard;
import org.alfresco.jlan.server.filesys.FileAttribute;
import org.alfresco.jlan.server.filesys.FileInfo;
import org.alfresco.jlan.server.filesys.FileName;
import org.alfresco.jlan.server.filesys.SearchContext;
import org.alfresco.jlan.util.WildCard;
import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
/**

View File

@@ -26,17 +26,17 @@ package org.alfresco.filesys.avm;
import java.util.Enumeration;
import org.alfresco.config.ConfigElement;
import org.alfresco.filesys.server.SrvSession;
import org.alfresco.filesys.server.auth.InvalidUserException;
import org.alfresco.filesys.server.config.InvalidConfigurationException;
import org.alfresco.filesys.server.config.ServerConfiguration;
import org.alfresco.filesys.server.core.InvalidDeviceInterfaceException;
import org.alfresco.filesys.server.core.ShareMapper;
import org.alfresco.filesys.server.core.ShareType;
import org.alfresco.filesys.server.core.SharedDevice;
import org.alfresco.filesys.server.core.SharedDeviceList;
import org.alfresco.filesys.server.filesys.DiskSharedDevice;
import org.alfresco.filesys.util.StringList;
import org.alfresco.jlan.server.SrvSession;
import org.alfresco.jlan.server.config.InvalidConfigurationException;
import org.alfresco.jlan.server.config.ServerConfiguration;
import org.alfresco.jlan.server.core.InvalidDeviceInterfaceException;
import org.alfresco.jlan.server.core.ShareMapper;
import org.alfresco.jlan.server.core.ShareType;
import org.alfresco.jlan.server.core.SharedDevice;
import org.alfresco.jlan.server.core.SharedDeviceList;
import org.alfresco.jlan.server.filesys.DiskSharedDevice;
import org.alfresco.jlan.server.filesys.FilesystemsConfigSection;
import org.alfresco.jlan.util.StringList;
import org.alfresco.service.cmr.avm.AVMNotFoundException;
import org.alfresco.service.cmr.avm.AVMService;
import org.alfresco.service.cmr.avm.AVMWrongTypeException;
@@ -63,11 +63,16 @@ public class AVMShareMapper implements ShareMapper {
// Server configuration
private ServerConfiguration m_config;
private FilesystemsConfigSection m_filesysConfig;
// List of available AVM shares
private StringList m_avmShareNames;
// Filesystem driver to be used to create home shares
private AVMDiskDriver m_driver;
// Debug enable flag
private boolean m_debug;
@@ -91,6 +96,7 @@ public class AVMShareMapper implements ShareMapper {
// Save the server configuration
m_config = config;
m_filesysConfig = (FilesystemsConfigSection) m_config.getConfigSection(FilesystemsConfigSection.SectionName);
// Check if debug is enabled
@@ -101,7 +107,7 @@ public class AVMShareMapper implements ShareMapper {
m_avmShareNames = new StringList();
SharedDeviceList shrList = m_config.getShares();
SharedDeviceList shrList = m_filesysConfig.getShares();
Enumeration<SharedDevice> shrEnum = shrList.enumerateShares();
while ( shrEnum.hasMoreElements())
@@ -112,8 +118,17 @@ public class AVMShareMapper implements ShareMapper {
try
{
if ( curShare.getInterface() instanceof AVMDiskDriver)
m_avmShareNames.addString( curShare.getName());
if ( curShare.getInterface() instanceof AVMDiskDriver)
{
// Add the shared filesystem name to the list of AVM shares
m_avmShareNames.addString( curShare.getName());
// Set the AVM filesystem driver to be used when creating dynamic shares
if ( m_driver == null)
m_driver = (AVMDiskDriver) curShare.getInterface();
}
}
catch ( InvalidDeviceInterfaceException ex)
{
@@ -143,7 +158,7 @@ public class AVMShareMapper implements ShareMapper {
{
// Make a copy of the global share list and add the per session dynamic shares
SharedDeviceList shrList = new SharedDeviceList(m_config.getShares());
SharedDeviceList shrList = new SharedDeviceList(m_filesysConfig.getShares());
if ( sess != null && sess.hasDynamicShares()) {
@@ -176,14 +191,14 @@ public class AVMShareMapper implements ShareMapper {
// Find the required share by name/type. Use a case sensitive search first, if that fails use a case
// insensitive search.
SharedDevice share = m_config.getShares().findShare(name, typ, false);
SharedDevice share = m_filesysConfig.getShares().findShare(name, typ, false);
if ( share == null)
{
// Try a case insensitive search for the required share
share = m_config.getShares().findShare(name, typ, true);
share = m_filesysConfig.getShares().findShare(name, typ, true);
}
// If the share was not found then check if the share is in the AVM versioned share format - '<storename>_<version>'
@@ -238,12 +253,11 @@ public class AVMShareMapper implements ShareMapper {
if ( storePath.length() > 0 && storeVersion != -1)
{
// Validate the store name and version
// Validate the store name and version
AVMDiskDriver avmDrv = (AVMDiskDriver) m_config.getAvmDiskInterface();
AVMService avmService = avmDrv.getAvmService();
AVMService avmService = m_driver.getAvmService();
sess.beginReadTransaction( avmDrv.getTransactionService());
m_driver.beginReadTransaction( sess);
try
{
@@ -254,11 +268,11 @@ public class AVMShareMapper implements ShareMapper {
// Create a dynamic share mapped to the AVM store/version
AVMContext avmCtx = new AVMContext( name, storePath, storeVersion);
avmCtx.enableStateTable( true, avmDrv.getStateReaper());
avmCtx.enableStateTable( true, m_driver.getStateReaper());
// Create a dynamic shared device for the store version
DiskSharedDevice diskShare = new DiskSharedDevice( name, avmDrv, avmCtx, SharedDevice.Temporary);
DiskSharedDevice diskShare = new DiskSharedDevice( name, m_driver, avmCtx, SharedDevice.Temporary);
// Add the new share to the sessions dynamic share list

View File

@@ -23,9 +23,9 @@
package org.alfresco.filesys.avm;
import org.alfresco.filesys.server.filesys.FileAttribute;
import org.alfresco.filesys.server.filesys.FileInfo;
import org.alfresco.filesys.server.filesys.SearchContext;
import org.alfresco.jlan.server.filesys.FileAttribute;
import org.alfresco.jlan.server.filesys.FileInfo;
import org.alfresco.jlan.server.filesys.SearchContext;
import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
/**

View File

@@ -22,12 +22,13 @@
* http://www.alfresco.com/legal/licensing" */
package org.alfresco.filesys.avm;
import org.alfresco.filesys.server.filesys.FileAttribute;
import org.alfresco.filesys.server.filesys.FileInfo;
import org.alfresco.filesys.server.filesys.FileName;
import org.alfresco.filesys.server.filesys.NetworkFile;
import org.alfresco.filesys.server.pseudo.PseudoFile;
import org.alfresco.filesys.server.pseudo.PseudoFolderNetworkFile;
import org.alfresco.jlan.server.filesys.FileAttribute;
import org.alfresco.jlan.server.filesys.FileInfo;
import org.alfresco.jlan.server.filesys.FileName;
import org.alfresco.jlan.server.filesys.NetworkFile;
import org.alfresco.jlan.server.filesys.pseudo.PseudoFile;
import org.alfresco.jlan.server.filesys.pseudo.PseudoFolderNetworkFile;
/**
* Dummy Folder Pseudo File Class

View File

@@ -23,12 +23,13 @@
package org.alfresco.filesys.avm;
import org.alfresco.filesys.server.filesys.FileAttribute;
import org.alfresco.filesys.server.filesys.FileInfo;
import org.alfresco.filesys.server.filesys.SearchContext;
import org.alfresco.filesys.server.pseudo.PseudoFile;
import org.alfresco.filesys.server.pseudo.PseudoFileList;
import org.alfresco.filesys.util.WildCard;
import org.alfresco.jlan.server.filesys.FileAttribute;
import org.alfresco.jlan.server.filesys.FileInfo;
import org.alfresco.jlan.server.filesys.SearchContext;
import org.alfresco.jlan.server.filesys.pseudo.PseudoFile;
import org.alfresco.jlan.server.filesys.pseudo.PseudoFileList;
import org.alfresco.jlan.util.WildCard;
/**
* Pseudo File List Search Context Class

View File

@@ -23,12 +23,12 @@
package org.alfresco.filesys.avm;
import org.alfresco.filesys.server.filesys.FileAttribute;
import org.alfresco.filesys.server.filesys.FileInfo;
import org.alfresco.filesys.server.filesys.FileName;
import org.alfresco.filesys.server.filesys.NetworkFile;
import org.alfresco.filesys.server.pseudo.PseudoFile;
import org.alfresco.filesys.server.pseudo.PseudoFolderNetworkFile;
import org.alfresco.jlan.server.filesys.FileAttribute;
import org.alfresco.jlan.server.filesys.FileInfo;
import org.alfresco.jlan.server.filesys.FileName;
import org.alfresco.jlan.server.filesys.NetworkFile;
import org.alfresco.jlan.server.filesys.pseudo.PseudoFile;
import org.alfresco.jlan.server.filesys.pseudo.PseudoFolderNetworkFile;
import org.alfresco.service.cmr.avm.AVMStoreDescriptor;
/**

View File

@@ -23,12 +23,12 @@
package org.alfresco.filesys.avm;
import org.alfresco.filesys.server.filesys.FileAttribute;
import org.alfresco.filesys.server.filesys.FileInfo;
import org.alfresco.filesys.server.filesys.FileName;
import org.alfresco.filesys.server.filesys.NetworkFile;
import org.alfresco.filesys.server.pseudo.PseudoFile;
import org.alfresco.filesys.server.pseudo.PseudoFolderNetworkFile;
import org.alfresco.jlan.server.filesys.FileAttribute;
import org.alfresco.jlan.server.filesys.FileInfo;
import org.alfresco.jlan.server.filesys.FileName;
import org.alfresco.jlan.server.filesys.NetworkFile;
import org.alfresco.jlan.server.filesys.pseudo.PseudoFile;
import org.alfresco.jlan.server.filesys.pseudo.PseudoFolderNetworkFile;
import org.alfresco.service.cmr.avm.VersionDescriptor;
/**

View File

@@ -25,12 +25,8 @@ package org.alfresco.filesys.avm;
import java.util.Hashtable;
import org.alfresco.filesys.server.filesys.FileAttribute;
import org.alfresco.filesys.server.filesys.FileInfo;
import org.alfresco.filesys.server.filesys.FileName;
import org.alfresco.filesys.server.filesys.NetworkFile;
import org.alfresco.filesys.server.pseudo.PseudoFile;
import org.alfresco.filesys.server.pseudo.PseudoFolderNetworkFile;
import org.alfresco.jlan.server.filesys.FileAttribute;
import org.alfresco.jlan.server.filesys.FileInfo;
import org.alfresco.service.cmr.avm.AVMStoreDescriptor;
import org.alfresco.service.cmr.repository.NodeRef;