package org.openslx.satellitedaemon.filetransfer; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import org.openslx.filetransfer.Downloader; import org.openslx.imagemaster.thrift.iface.DownloadInfos; import org.openslx.satellitedaemon.Globals; import org.openslx.satellitedaemon.Globals.PropInt; import org.openslx.satellitedaemon.Globals.PropString; import org.openslx.satellitedaemon.db.DbImage; public class FileDownloadWorker implements Runnable { private static Logger log = Logger.getLogger( FileUploadWorker.class ); @Override public void run() { while ( true ) { List imageList = DbImage.getAllMarkedForDownload(); log.info( "FILTRANSFERDownloadWorker: imageList Contains " + imageList.size() + " items." ); for ( DbImage image : imageList ) { List range = new ArrayList(); for (long i = 0; i < (image.fileSize / Globals.getPropertyInt( PropInt.BLOCKSIZE )); i++) { range.add( (int) i ); } DownloadInfos downInfos = ThriftConnection.getDownloadInfos( image, range ); if ( downInfos == null ) { log.error( "The DownloadInfos returned by ThriftConnection class are null" ); } Downloader d = new Downloader( Globals.getPropertyString( PropString.FILETRANSFERSERVERIP ), downInfos.port, Globals.getMasterServerSslContext() ); d.sendToken( downInfos.token ); d.setOutputFilename( "/home/michael/Downloads/tescht.whatever" ); while ( d.readMetaData() ) d.readBinary(); } try { Thread.sleep( 5 * 60 * 1000 ); } catch ( InterruptedException e ) { Thread.currentThread().interrupt(); return; } } } }