//$Header: /cvsroot-fuse/mec-as2/39/mendelson/util/clientserver/clients/filesystemview/FileSystemViewClientServer.java,v 1.1 2012/04/18 14:10:44 heller Exp $ package de.mendelson.util.clientserver.clients.filesystemview; import de.mendelson.util.clientserver.BaseClient; import java.util.List; import java.util.concurrent.TimeUnit; /* * Copyright (C) mendelson-e-commerce GmbH Berlin Germany * * This software is subject to the license agreement set forth in the license. * Please read and agree to all terms before using this software. * Other product and brand names are trademarks of their respective owners. */ /** * Handles the access to remote directories * @author S.Heller * @version $Revision: 1.1 $ */ public class FileSystemViewClientServer{ private BaseClient baseClient; public FileSystemViewClientServer(BaseClient baseClient) { this.baseClient = baseClient; } public List<FileObject> getPathElements( String path ){ FileSystemViewRequest request = new FileSystemViewRequest(FileSystemViewRequest.TYPE_GET_PATH_ELEMENTS); request.setParameterString(path); return (this.sendSyncRequest(request)).getParameterFileArray(); } public String getPathStr(FileObject file){ FileSystemViewRequest request = new FileSystemViewRequest(FileSystemViewRequest.TYPE_GET_PATH_STR); request.setParameterFile(file); return (this.sendSyncRequest(request)).getParameterString(); } public List<FileObject> listRoots() { FileSystemViewRequest request = new FileSystemViewRequest(FileSystemViewRequest.TYPE_LIST_ROOTS); return (this.sendSyncRequest(request)).getParameterFileArray(); } public List<FileObject> listChildren( FileObject parent ) { FileSystemViewRequest request = new FileSystemViewRequest(FileSystemViewRequest.TYPE_LIST_CHILDREN); request.setParameterFile(parent); return (this.sendSyncRequest(request)).getParameterFileArray(); } private FileSystemViewResponse sendSyncRequest(FileSystemViewRequest request) { //there could be a IO timeout, e.g. for an unused CD drive FileSystemViewResponse response = (FileSystemViewResponse) this.baseClient.sendSync(request, TimeUnit.SECONDS.toMillis(30)); return (response); } }