agave-systems/systems-core/src/main/java/org/iplantc/service/transfer/ftp/FTP2.java
/**
	 * Uses mlst to get the file info
	 * 
	 * @param resolvedPath absolute path to file or folder on the system
	 * @return
	 * @throws RemoteDataException
	 * @throws IOException
	 */
Uses mlst to get the file info

@param resolvedPath absolute path to file or folder on the system
@return
@throws RemoteDataException
@throws IOException
Uses mlst to get the file info @param resolvedPath absolute path to file or folder on the system @return @throws RemoteDataException @throws IOException
private RemoteFileInfo doGetFileInfo(String resolvedPath) throws RemoteDataException, IOException
	{	
		RemoteFileInfo fileInfo = null;
		try
		{
			setType(Session.TYPE_ASCII);
			setDTP(true);
			MlsxEntry entry = super.mlst(resolvedPath);
			fileInfo = new RemoteFileInfo(entry);
			fileInfoCache.put(resolvedPath, fileInfo);
			return fileInfo;
		}
		catch (ServerException e) {
			if (e.getCustomMessage().contains("Could not create MlsxEntry")) {
				try {
					disconnect();
					authenticate();
			        MlsxEntry entry = super.mlst(resolvedPath);
					return new RemoteFileInfo(entry);
				} catch (Exception e1) {
					throw new RemoteDataException("Failed to retrieve file info for " + resolvedPath.replace(homeDir,  ""), e);
				}
			}
			else if (e.toString().contains("check for file existence")) {
			    return doStat(resolvedPath);
			}
			else if (e.toString().contains("No such file or directory"))  
			{
				throw new java.io.FileNotFoundException("No such file or directory");
			} else if (e.toString().contains("Permission denied")) {
				throw new RemoteDataException("Permission denied", e);
			} else {
				throw new RemoteDataException("Failed to retrieve file info for " + resolvedPath.replace(homeDir,  ""), e);
			}
		}
		catch (Exception e) {
			throw new RemoteDataException("Failed to retrieve file info for " + resolvedPath.replace(homeDir,  ""), e);
		}
	}
private RemoteFileInfo doGetFileInfo ( String resolvedPath ) throws RemoteDataException , IOException { RemoteFileInfo fileInfo = null ; try { setType ( Session . TYPE_ASCII ) ; setDTP ( true ) ; MlsxEntry entry = super . mlst ( resolvedPath ) ; fileInfo = new RemoteFileInfo ( entry ) ; fileInfoCache . put ( resolvedPath , fileInfo ) ; return fileInfo ; } catch ( ServerException e ) { if ( e . getCustomMessage ( ) . contains ( "Could not create MlsxEntry" ) ) { try { disconnect ( ) ; authenticate ( ) ; MlsxEntry entry = super . mlst ( resolvedPath ) ; return new RemoteFileInfo ( entry ) ; } catch ( Exception e1 ) { throw new RemoteDataException ( "Failed to retrieve file info for " + resolvedPath . replace ( homeDir , "" ) , e ) ; } } else if ( e . toString ( ) . contains ( "check for file existence" ) ) { return doStat ( resolvedPath ) ; } else if ( e . toString ( ) . contains ( "No such file or directory" ) ) { throw new java . io . FileNotFoundException ( "No such file or directory" ) ; } else if ( e . toString ( ) . contains ( "Permission denied" ) ) { throw new RemoteDataException ( "Permission denied" , e ) ; } else { throw new RemoteDataException ( "Failed to retrieve file info for " + resolvedPath . replace ( homeDir , "" ) , e ) ; } } catch ( Exception e ) { throw new RemoteDataException ( "Failed to retrieve file info for " + resolvedPath . replace ( homeDir , "" ) , e ) ; } }
Uses mlst to get the file info
Uses mlst to get the file info
//			setLocalPassive(); //			setActive(); //			setActive(localServer.setPassive()); //			    return doGetLegacyFileInfo(resolvedPath);