diff options
Diffstat (limited to 'src/main/java/org/openslx/satellitedaemon/filetransfer')
3 files changed, 45 insertions, 38 deletions
diff --git a/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java b/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java index e8b8b4d..7ad08db 100644 --- a/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java +++ b/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java @@ -10,64 +10,68 @@ import org.openslx.filetransfer.FileRange; import org.openslx.filetransfer.WantRangeCallback; import org.openslx.imagemaster.thrift.iface.DownloadData; import org.openslx.satellitedaemon.Globals; +import org.openslx.satellitedaemon.Identity; import org.openslx.satellitedaemon.db.DbImage; import org.openslx.satellitedaemon.db.DbImage.Status; -public class FileDownloadWorker implements Runnable { - private static Logger log = Logger.getLogger(FileDownloadWorker.class); +public class FileDownloadWorker implements Runnable +{ + private static Logger log = Logger.getLogger( FileDownloadWorker.class ); @Override - public void run() { - while (true) { + public void run() + { + while ( true ) { List<DbImage> imageList = DbImage.getAllMarkedForDownload(); - log.info("imageList Contains " + imageList.size() + " items."); - for (final DbImage image : imageList) { + log.info( "imageList Contains " + imageList.size() + " items." ); + for ( final DbImage image : imageList ) { List<Integer> range = new ArrayList<Integer>(); - for (long i = 0; i < (image.fileSize / Globals.BLOCKSIZE); i++) { - range.add((int) i); + for ( long i = 0; i < ( image.fileSize / Globals.BLOCKSIZE ); i++ ) { + range.add( (int)i ); } - DownloadData downInfos = ThriftConnection.getDownloadInfos(image); - if (downInfos == null) { - log.error("The DownloadInfos returned by ThriftConnection class are null"); + DownloadData downInfos = ThriftConnection.getDownloadInfos( image ); + if ( downInfos == null ) { + log.error( "The DownloadInfos returned by ThriftConnection class are null" ); continue; } // create new instance of Downloader. Downloader d; try { - d = new Downloader(Globals.getMasterserverHost(), - downInfos.port, Globals.getMasterServerSslContext(), downInfos.token); - } catch (IOException e) { + d = new Downloader( Globals.getMasterserverHost(), + downInfos.port, Globals.getMasterServerSslContext(), downInfos.token ); + } catch ( IOException e ) { e.printStackTrace(); continue; } - + // start downloading process. - d.download(Globals.getImageFolder() + "/" + image.path, new WantRangeCallback() { + d.download( Globals.getImageFolder() + "/" + image.path, new WantRangeCallback() { long pos = 0; long size = image.fileSize; - + @Override - public FileRange get() { + public FileRange get() + { // get start of range. - if (pos >= size) { - log.debug("Download completed."); - image.updateStatus(Status.successfully_decentralized); + if ( pos >= size ) { + log.debug( "Download completed." ); + image.updateStatus( Status.successfully_decentralized ); return null; } - - long startOfRange = pos; - long endOfRange = Math.min(pos + Globals.BLOCKSIZE, image.fileSize); - FileRange range = new FileRange(startOfRange, endOfRange); + + long startOfRange = pos; + long endOfRange = Math.min( pos + Globals.BLOCKSIZE, image.fileSize ); + FileRange range = new FileRange( startOfRange, endOfRange ); pos += Globals.BLOCKSIZE; return range; } - }); + } ); } try { - Thread.sleep(5 * 60 * 1000); - } catch (InterruptedException e) { + Thread.sleep( 5 * 60 * 1000 ); + } catch ( InterruptedException e ) { Thread.currentThread().interrupt(); return; } diff --git a/src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java b/src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java index 6947b5a..1034dd7 100644 --- a/src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java +++ b/src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java @@ -9,6 +9,7 @@ import org.openslx.imagemaster.thrift.iface.ImageData; import org.openslx.imagemaster.thrift.iface.UploadData; import org.openslx.imagemaster.thrift.iface.UserInfo; import org.openslx.satellitedaemon.Globals; +import org.openslx.satellitedaemon.Identity; import org.openslx.satellitedaemon.db.DbImage; import org.openslx.satellitedaemon.db.DbImage.Status; import org.openslx.satellitedaemon.db.DbUser; @@ -31,15 +32,15 @@ public class FileUploadWorker implements Runnable ImageData imDat = new ImageData( image.guid, image.rid, image.name, image.createTime, image.changeTime, image.creator, - "anyThing", true, false, "best", image.fileSize ); + "anyThing", true, false, "best", image.fileSize ); String path = Globals.getImageFolder() + "/" + image.path; // ThriftConnection.getUploadInfos returns uploadInfo and handles ThriftAuthentication - DbUser dbUser = DbUser.getUserById(imDat.ownerLogin); - UserInfo userInfo = new UserInfo(dbUser.userId, dbUser.firstName, dbUser.lastName, dbUser.email, null); - ThriftConnection.publishUser(userInfo); - UploadData upInfos = ThriftConnection.getUploadInfos( imDat, path); + DbUser dbUser = DbUser.getUserById( imDat.ownerLogin ); + UserInfo userInfo = new UserInfo( dbUser.userId, dbUser.firstName, dbUser.lastName, dbUser.email, null ); + ThriftConnection.publishUser( userInfo ); + UploadData upInfos = ThriftConnection.getUploadInfos( imDat, path ); if ( upInfos == null ) { log.error( "The UploadInfos returned by ThriftConnection Class are null" ); continue; diff --git a/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java b/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java index 5cae49b..f716077 100644 --- a/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java +++ b/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java @@ -29,6 +29,7 @@ import org.openslx.imagemaster.thrift.iface.UploadError; import org.openslx.imagemaster.thrift.iface.UploadException; import org.openslx.imagemaster.thrift.iface.UserInfo; import org.openslx.satellitedaemon.Globals; +import org.openslx.satellitedaemon.Identity; import org.openslx.satellitedaemon.db.DbImage; import org.openslx.satellitedaemon.db.DbImage.Status; @@ -206,16 +207,16 @@ public class ThriftConnection if ( !isAuthenticated ) { try { ByteBuffer tmpBuffer = theClient - .startServerAuthentication( Globals + .startServerAuthentication( Identity .getOrganizationName() ); byte[] toEncrypt = new byte[ tmpBuffer.remaining() ]; tmpBuffer.get( toEncrypt ); AsymEncryptionHandler aeh = new AsymEncryptionHandler( - Globals.getPrivateKey() ); + Identity.getPrivateKey() ); byte[] byteArray = aeh.encryptMessage( toEncrypt ); sSD = theClient.serverAuthenticate( - Globals.getOrganizationName(), + Identity.getOrganizationName(), ByteBuffer.wrap( byteArray ) ); } catch ( AuthenticationException e ) { log.error( "ThriftConnection: AuthenticationException: Server Authetication was not sucessful.", e ); @@ -253,8 +254,9 @@ public class ThriftConnection client.set( newClient ); return newClient; } - - public static boolean publishUser(UserInfo userInfo) { + + public static boolean publishUser( UserInfo userInfo ) + { ImageServer.Client theClient = null; theClient = getConnection(); if ( theClient == null ) { |