diff options
Diffstat (limited to 'src/main/java/org/openslx/satellitedaemon/filetransfer')
3 files changed, 264 insertions, 246 deletions
diff --git a/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java b/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java index a6431f5..f15cbb5 100644 --- a/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java +++ b/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java @@ -8,49 +8,47 @@ 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 ); +public class FileDownloadWorker implements Runnable { + private static Logger log = Logger.getLogger(FileUploadWorker.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 ( DbImage image : imageList ) { + log.info("imageList Contains " + imageList.size() + " items."); + for (DbImage image : imageList) { List<Integer> range = new ArrayList<Integer>(); - for (long i = 0; i < (image.fileSize / Globals.getPropertyInt( PropInt.BLOCKSIZE )); i++) { - range.add( (int) i ); + for (long i = 0; i < (image.fileSize / Globals.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" ); + DownloadInfos downInfos = ThriftConnection.getDownloadInfos( + image, range); + if (downInfos == null) { + log.error("The DownloadInfos returned by ThriftConnection class are null"); continue; } - Downloader d; - try { - d = new Downloader( Globals.getPropertyString( PropString.FILETRANSFERSERVERIP ), downInfos.port, Globals.getMasterServerSslContext() ); - } catch ( IOException e ) { - log.warn( "Could not connect for download: " + e.toString() ); - e.printStackTrace(); - continue; - } - d.sendToken( downInfos.token ); - d.setOutputFilename( "/home/michael/Downloads/tescht.whatever" ); - while ( d.readMetaData() ) // TODO: Request range... - d.receiveBinary(); + Downloader d; + try { + d = new Downloader(Globals.getMasterserverHost(), + downInfos.port, Globals.getMasterServerSslContext()); + } catch (IOException e) { + log.warn("Could not connect for download: " + e.toString()); + e.printStackTrace(); + continue; + } + d.sendToken(downInfos.token); + d.setOutputFilename("/home/michael/Downloads/tescht.whatever"); + while (d.readMetaData()) + // TODO: Request range... + d.receiveBinary(); } 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 48e467b..3515085 100644 --- a/src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java +++ b/src/main/java/org/openslx/satellitedaemon/filetransfer/FileUploadWorker.java @@ -9,77 +9,84 @@ import org.openslx.filetransfer.Uploader; import org.openslx.imagemaster.thrift.iface.ImageData; import org.openslx.imagemaster.thrift.iface.UploadInfos; 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 FileUploadWorker implements Runnable -{ - private static Logger log = Logger.getLogger( FileUploadWorker.class ); +public class FileUploadWorker implements Runnable { + private static Logger log = Logger.getLogger(FileUploadWorker.class); @Override - public void run() - { - while ( true ) { - // This List contains all Images in the Database that should be uploaded. + public void run() { + while (true) { + // This List contains all Images in the Database that should be + // uploaded. List<DbImage> imageList = DbImage.getAllMarkedForUpload(); - log.info( "imageList Contains " + imageList.size() + " items." ); + log.info("imageList Contains " + imageList.size() + " items."); // Upload one Image after the other. - for ( DbImage image : imageList ) { -// TODO: still some fields for ImageData, which i can't fill with info from DbImage. - ImageData imDat = new ImageData( image.guid, image.rid, - image.name, System.currentTimeMillis(), System.currentTimeMillis(), image.creator, "anyThing", - true, false, "best", "theVeryBest", image.fileSize ); + for (DbImage image : imageList) { + // TODO: still some fields for ImageData, which i can't fill + // with info from DbImage. + ImageData imDat = new ImageData(image.guid, image.rid, + image.name, System.currentTimeMillis(), + System.currentTimeMillis(), image.creator, "anyThing", + true, false, "best", "theVeryBest", image.fileSize); -// ImageData imDat = new ImageData( UUID.randomUUID().toString(), image.rid, -// image.name, System.currentTimeMillis(), System.currentTimeMillis(), image.creator, "anyThing", -// true, false, "best", "theVeryBest", image.fileSize ); + // ImageData imDat = new ImageData( + // UUID.randomUUID().toString(), image.rid, + // image.name, System.currentTimeMillis(), + // System.currentTimeMillis(), image.creator, "anyThing", + // true, false, "best", "theVeryBest", image.fileSize ); // uploadInfo and ThriftAuthentication - String crcPath = image.path.concat( ".crc" ); - UploadInfos upInfos = ThriftConnection.getUploadInfos( imDat, crcPath ); - if ( upInfos == null ) { - log.error( "The UploadInfos returned by ThriftConnection Class are null" ); + String crcPath = image.path.concat(".crc"); + UploadInfos upInfos = ThriftConnection.getUploadInfos(imDat, + crcPath); + if (upInfos == null) { + log.error("The UploadInfos returned by ThriftConnection Class are null"); continue; } - log.info( "Got upInfos. Trying to create Uploader with token: " + upInfos.token ); + log.info("Got upInfos. Trying to create Uploader with token: " + + upInfos.token); // creating the uploader with the "context"-item. Uploader u; try { - u = new Uploader( Globals.getPropertyString( PropString.FILETRANSFERSERVERIP ), upInfos.port, Globals.getMasterServerSslContext() ); - } catch ( IOException e ) { - log.warn( "Could not connect for uploading an image: " + e.toString() ); + u = new Uploader(Globals.getMasterserverHost(), + upInfos.port, Globals.getMasterServerSslContext()); + } catch (IOException e) { + log.warn("Could not connect for uploading an image: " + + e.toString()); continue; } - u.sendToken( upInfos.token ); + u.sendToken(upInfos.token); - log.info( "upInfos.getMissingBlocks().size() = " + upInfos.getMissingBlocks().size() ); + log.info("upInfos.getMissingBlocks().size() = " + + upInfos.getMissingBlocks().size()); long fileSize = new File(image.path).length(); // continue sending Blocks until getMissingBlocks is empty. - while ( !upInfos.getMissingBlocks().isEmpty() ) { + while (!upInfos.getMissingBlocks().isEmpty()) { List<Integer> blocks = upInfos.getMissingBlocks(); - log.info( "Anzahl angeforderter Blöcke : " + blocks.size() ); - log.info( blocks ); - for ( int i = 0; i < blocks.size(); i++ ) { - int startOffset = blocks.get( i ) * Globals.getPropertyInt( PropInt.BLOCKSIZE ); // TODO: long - int endOffset = startOffset + Globals.getPropertyInt( PropInt.BLOCKSIZE ); - if (endOffset >fileSize ) - endOffset = (int)fileSize; // TODO: Long - u.prepareSendRange( startOffset, endOffset ); - u.sendFile( image.path ); - log.info( "Block number " + blocks.get(i) + " uploaded."); + log.info("Anzahl angeforderter Blöcke : " + blocks.size()); + log.info(blocks); + for (int i = 0; i < blocks.size(); i++) { + int startOffset = blocks.get(i) * Globals.BLOCKSIZE; // TODO: + // long + int endOffset = startOffset + Globals.BLOCKSIZE; + if (endOffset > fileSize) + endOffset = (int) fileSize; // TODO: Long + u.prepareSendRange(startOffset, endOffset); + u.sendFile(image.path); + log.info("Block number " + blocks.get(i) + " uploaded."); } - upInfos = ThriftConnection.getUploadInfos( imDat ); + upInfos = ThriftConnection.getUploadInfos(imDat); } u.close(); } try { - Thread.sleep( 1 * 60 * 1000 ); - // Thread.sleep( 1000 ); - } catch ( InterruptedException e ) { + Thread.sleep(1 * 60 * 1000); + // Thread.sleep( 1000 ); + } catch (InterruptedException e) { Thread.currentThread().interrupt(); return; } diff --git a/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java b/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java index 4b95f9b..b813f15 100644 --- a/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java +++ b/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java @@ -31,8 +31,6 @@ import org.openslx.imagemaster.thrift.iface.UploadError; import org.openslx.imagemaster.thrift.iface.UploadException; import org.openslx.imagemaster.thrift.iface.UploadInfos; import org.openslx.satellitedaemon.Globals; -import org.openslx.satellitedaemon.Globals.PropInt; -import org.openslx.satellitedaemon.Globals.PropString; import org.openslx.satellitedaemon.db.DbImage; import org.openslx.satellitedaemon.util.EncryptWithServerIdPublicKey; @@ -40,14 +38,13 @@ import org.openslx.satellitedaemon.util.EncryptWithServerIdPublicKey; /***********************************************************************************************/ /** - * Handles the authentication with the Satellite Server and sends the FILTRANSFERCredentials, which - * are necessary for the upload of the image. + * Handles the authentication with the Satellite Server and sends the + * FILTRANSFERCredentials, which are necessary for the upload of the image. */ -public class ThriftConnection -{ +public class ThriftConnection { private static ImageServer.Client client = null; private static ServerSessionData sSD = null; - private static Logger log = Logger.getLogger( ThriftConnection.class ); + private static Logger log = Logger.getLogger(ThriftConnection.class); private static CrcFile crc = null; /***********************************************************************************************/ @@ -56,93 +53,96 @@ public class ThriftConnection * * !! on the first Call !! * - * when the CRCsum need to be transfered. - * The method calls getConnection() to check if the connection is ok - * and to get the ServerSessionData. If connection is ok, it calls - * submitImage with CRCsum in List<Integer>. + * when the CRCsum need to be transfered. The method calls getConnection() + * to check if the connection is ok and to get the ServerSessionData. If + * connection is ok, it calls submitImage with CRCsum in List<Integer>. * * @return returns 'null' if there is a problem. */ - public static UploadInfos getUploadInfos( ImageData imDat, String filename ) - { + public static UploadInfos getUploadInfos(ImageData imDat, String filename) { ImageServer.Client theClient = null; try { theClient = getConnection(); - if ( theClient == null ) { - log.error( "Client was null!" ); + if (theClient == null) { + log.error("Client was null!"); return null; } - // .submitImage needs the List<Integer> from CRCFile.getCRCs() only + // .submitImage needs the List<Integer> from CRCFile.getCRCs() only // on the first time called. null afterwards. - log.info( "First call of submitImage following..." ); - crc = new CrcFile( filename ); - log.info( "Made CRCFile from " + filename ); - log.info( "crc.getCrcSums( ).size = " + crc.getCrcSums().size() ); - // log.info( "crc.getMasterSum() : " + crc.getMasterSum() ); - // for ( int i = 0; i < crc.getCrcSums().size() - 1; i++ ) { - // log.info( "crc.getCRCSum() : " + crc.getCRCSum( i ) ); - // } - return theClient.submitImage( sSD.sessionId, imDat, crc.getCrcSums() ); - } catch ( ImageDataException e ) { - if ( e.isSetNumber() && e.getNumber().equals( ImageDataError.INVALID_DATA ) ) { - // Data in the db is not valid + log.info("First call of submitImage following..."); + crc = new CrcFile(filename); + log.info("Made CRCFile from " + filename); + log.info("crc.getCrcSums( ).size = " + crc.getCrcSums().size()); + // log.info( "crc.getMasterSum() : " + crc.getMasterSum() ); + // for ( int i = 0; i < crc.getCrcSums().size() - 1; i++ ) { + // log.info( "crc.getCRCSum() : " + crc.getCRCSum( i ) ); + // } + return theClient + .submitImage(sSD.sessionId, imDat, crc.getCrcSums()); + } catch (ImageDataException e) { + if (e.isSetNumber() + && e.getNumber().equals(ImageDataError.INVALID_DATA)) { + // Data in the db is not valid // TODO: add e.message into DB; } else { e.printStackTrace(); } - } catch ( UploadException e ) { - if ( e.isSetNumber() && e.getNumber().equals( UploadError.BROKEN_BLOCK ) ) { + } catch (UploadException e) { + if (e.isSetNumber() + && e.getNumber().equals(UploadError.BROKEN_BLOCK)) { // A Block was transmitted 20 times unsuccessfully. // TODO: Mark the Image as corrupted. - } else if ( e.getNumber().equals( UploadError.INVALID_CRC ) ) { + } else if (e.getNumber().equals(UploadError.INVALID_CRC)) { // The CRC sum contained errors - crc = new CrcFile( filename ); + crc = new CrcFile(filename); try { - if ( !crc.isValid() ) { - //TODO: Mark CRC-file as corrupted. + if (!crc.isValid()) { + // TODO: Mark CRC-file as corrupted. } - } catch ( IOException e1 ) { - log.error( "IOERROR, while reading from CRC File" + filename ); + } catch (IOException e1) { + log.error("IOERROR, while reading from CRC File" + filename); } } else { e.printStackTrace(); } - } catch ( AuthorizationException e ) { - if ( e.isSetNumber() && e.getNumber().equals( AuthorizationError.NOT_AUTHENTICATED ) ) { + } catch (AuthorizationException e) { + if (e.isSetNumber() + && e.getNumber().equals( + AuthorizationError.NOT_AUTHENTICATED)) { // SessionID is not valid // TODO: Code for new SSID - } else if ( e.getNumber().equals( AuthorizationError.NO_PERMISSION ) ) { - //Gibts noch gar nicht + } else if (e.getNumber().equals(AuthorizationError.NO_PERMISSION)) { + // Gibts noch gar nicht } else { e.printStackTrace(); } - } catch ( UnrecoverableKeyException e ) { - log.error( "UnrecoverableKeyException" ); + } catch (UnrecoverableKeyException e) { + log.error("UnrecoverableKeyException"); e.printStackTrace(); - } catch ( InvalidKeyException e ) { - log.error( "InvalidKeyException" ); + } catch (InvalidKeyException e) { + log.error("InvalidKeyException"); e.printStackTrace(); - } catch ( NoSuchAlgorithmException e ) { - log.error( "NoSuchAlgorithmException" ); + } catch (NoSuchAlgorithmException e) { + log.error("NoSuchAlgorithmException"); e.printStackTrace(); - } catch ( CertificateException e ) { - log.error( "CertificateException" ); + } catch (CertificateException e) { + log.error("CertificateException"); e.printStackTrace(); - } catch ( FileNotFoundException e ) { - log.error( "FileNotFoundException" ); + } catch (FileNotFoundException e) { + log.error("FileNotFoundException"); e.printStackTrace(); - } catch ( KeyStoreException e ) { - log.error( "KeyStoreException" ); + } catch (KeyStoreException e) { + log.error("KeyStoreException"); e.printStackTrace(); - } catch ( SignatureException e ) { - log.error( "SignatureException" ); + } catch (SignatureException e) { + log.error("SignatureException"); e.printStackTrace(); - } catch ( IOException e ) { - log.error( "IOException" ); + } catch (IOException e) { + log.error("IOException"); e.printStackTrace(); - } catch ( TException e ) { - log.error( "TException" ); + } catch (TException e) { + log.error("TException"); e.printStackTrace(); } return null; @@ -150,83 +150,88 @@ public class ThriftConnection /***********************************************************************************************/ /** - * Method for getting UploadeInfos when CRCsum was already transfered on first call. - * The method calls getConnection() to check if the connection is ok - * and to get the ServerSessionData. If connection is ok, it calls + * Method for getting UploadeInfos when CRCsum was already transfered on + * first call. The method calls getConnection() to check if the connection + * is ok and to get the ServerSessionData. If connection is ok, it calls * submitImage with sSD.sessionId, imDat and !!null!! * * @return returns 'null' if there is a problem. */ - public static UploadInfos getUploadInfos( ImageData imDat ) - { + public static UploadInfos getUploadInfos(ImageData imDat) { ImageServer.Client theClient = null; try { theClient = getConnection(); - if ( theClient == null ) { - log.error( "Client was null!" ); + if (theClient == null) { + log.error("Client was null!"); return null; } - // .submitImage needs the List<Integer> from CRCFile.getCRCs() only - // on the first time called. null afterwards. --Was the plan. So far not working I guess. - return theClient.submitImage( sSD.sessionId, imDat, crc.getCrcSums() ); - } catch ( ImageDataException e ) { - if ( e.isSetNumber() && e.getNumber().equals( ImageDataError.INVALID_DATA ) ) { - // Data in the db is not valid - //TODO: add e.message into DB; + // .submitImage needs the List<Integer> from CRCFile.getCRCs() only + // on the first time called. null afterwards. --Was the plan. So far + // not working I guess. + return theClient + .submitImage(sSD.sessionId, imDat, crc.getCrcSums()); + } catch (ImageDataException e) { + if (e.isSetNumber() + && e.getNumber().equals(ImageDataError.INVALID_DATA)) { + // Data in the db is not valid + // TODO: add e.message into DB; } else { e.printStackTrace(); } - } catch ( UploadException e ) { - if ( e.isSetNumber() && e.getNumber().equals( UploadError.BROKEN_BLOCK ) ) { + } catch (UploadException e) { + if (e.isSetNumber() + && e.getNumber().equals(UploadError.BROKEN_BLOCK)) { // A Block was transmitted 20 times unsuccessfully. // TODO: Mark the Image as corrupted. - } else if ( e.getNumber().equals( UploadError.INVALID_CRC ) ) { + } else if (e.getNumber().equals(UploadError.INVALID_CRC)) { // The CRC sum contained errors try { - if ( !crc.isValid() ) { - //TODO: Mark CRC-file as corrupted. + if (!crc.isValid()) { + // TODO: Mark CRC-file as corrupted. } - } catch ( IOException e1 ) { - log.error( "IOERROR, while reading from CRC File" ); + } catch (IOException e1) { + log.error("IOERROR, while reading from CRC File"); } } else { e.printStackTrace(); } - } catch ( AuthorizationException e ) { - if ( e.isSetNumber() && e.getNumber().equals( AuthorizationError.NOT_AUTHENTICATED ) ) { + } catch (AuthorizationException e) { + if (e.isSetNumber() + && e.getNumber().equals( + AuthorizationError.NOT_AUTHENTICATED)) { // SessionID is not valid // TODO: Code for new SSID - } else if ( e.getNumber().equals( AuthorizationError.NO_PERMISSION ) ) { + } else if (e.getNumber().equals(AuthorizationError.NO_PERMISSION)) { } else { e.printStackTrace(); } - } catch ( UnrecoverableKeyException e ) { - log.error( "UnrecoverableKeyException" ); + } catch (UnrecoverableKeyException e) { + log.error("UnrecoverableKeyException"); e.printStackTrace(); - } catch ( InvalidKeyException e ) { - log.error( "InvalidKeyException" ); + } catch (InvalidKeyException e) { + log.error("InvalidKeyException"); e.printStackTrace(); - } catch ( NoSuchAlgorithmException e ) { - log.error( "NoSuchAlgorithmException" ); + } catch (NoSuchAlgorithmException e) { + log.error("NoSuchAlgorithmException"); e.printStackTrace(); - } catch ( CertificateException e ) { - log.error( "CertificateException" ); + } catch (CertificateException e) { + log.error("CertificateException"); e.printStackTrace(); - } catch ( FileNotFoundException e ) { - log.error( "FileNotFoundException" ); + } catch (FileNotFoundException e) { + log.error("FileNotFoundException"); e.printStackTrace(); - } catch ( KeyStoreException e ) { - log.error( "KeyStoreException" ); + } catch (KeyStoreException e) { + log.error("KeyStoreException"); e.printStackTrace(); - } catch ( SignatureException e ) { - log.error( "SignatureException" ); + } catch (SignatureException e) { + log.error("SignatureException"); e.printStackTrace(); - } catch ( IOException e ) { - log.error( "IOException" ); + } catch (IOException e) { + log.error("IOException"); e.printStackTrace(); - } catch ( TException e ) { - log.error( "TException" ); + } catch (TException e) { + log.error("TException"); e.printStackTrace(); } return null; @@ -239,63 +244,67 @@ public class ThriftConnection * * @return returns 'null' if there is a problem. */ - public static DownloadInfos getDownloadInfos( DbImage imDat, List<Integer> range ) - { + public static DownloadInfos getDownloadInfos(DbImage imDat, + List<Integer> range) { ImageServer.Client theClient = null; try { theClient = getConnection(); - if ( theClient == null ) { - log.error( "Client was null!" ); + if (theClient == null) { + log.error("Client was null!"); return null; } - return theClient.getImage( imDat.guid, sSD.sessionId, range ); - } catch ( ImageDataException e ) { - if ( e.isSetNumber() && e.getNumber().equals( ImageDataError.INVALID_DATA ) ) { - // Data in the db is not valid - //TODO: add e.message into DB; - } else if ( e.getNumber().equals( ImageDataError.UNKNOWN_IMAGE ) ) { + return theClient.getImage(imDat.guid, sSD.sessionId, range); + } catch (ImageDataException e) { + if (e.isSetNumber() + && e.getNumber().equals(ImageDataError.INVALID_DATA)) { + // Data in the db is not valid + // TODO: add e.message into DB; + } else if (e.getNumber().equals(ImageDataError.UNKNOWN_IMAGE)) { // The image requested is not known. - //TODO: change field image_syncMode, so the image is not asked for again. + // TODO: change field image_syncMode, so the image is not asked + // for again. // Plus add a note in some way to mark as unknown by Server } else { e.printStackTrace(); } - } catch ( AuthorizationException e ) { - if ( e.isSetNumber() && e.getNumber().equals( AuthorizationError.NOT_AUTHENTICATED ) ) { + } catch (AuthorizationException e) { + if (e.isSetNumber() + && e.getNumber().equals( + AuthorizationError.NOT_AUTHENTICATED)) { // SessionID is not valid // TODO: Code for new SSID - } else if ( e.getNumber().equals( AuthorizationError.NO_PERMISSION ) ) { + } else if (e.getNumber().equals(AuthorizationError.NO_PERMISSION)) { } else { e.printStackTrace(); } - } catch ( UnrecoverableKeyException e ) { - log.error( "UnrecoverableKeyException" ); + } catch (UnrecoverableKeyException e) { + log.error("UnrecoverableKeyException"); e.printStackTrace(); - } catch ( InvalidKeyException e ) { - log.error( "InvalidKeyException" ); + } catch (InvalidKeyException e) { + log.error("InvalidKeyException"); e.printStackTrace(); - } catch ( NoSuchAlgorithmException e ) { - log.error( "NoSuchAlgorithmException" ); + } catch (NoSuchAlgorithmException e) { + log.error("NoSuchAlgorithmException"); e.printStackTrace(); - } catch ( CertificateException e ) { - log.error( "CertificateException" ); + } catch (CertificateException e) { + log.error("CertificateException"); e.printStackTrace(); - } catch ( FileNotFoundException e ) { - log.error( "FileNotFoundException" ); + } catch (FileNotFoundException e) { + log.error("FileNotFoundException"); e.printStackTrace(); - } catch ( KeyStoreException e ) { - log.error( "KeyStoreException" ); + } catch (KeyStoreException e) { + log.error("KeyStoreException"); e.printStackTrace(); - } catch ( SignatureException e ) { - log.error( "SignatureException" ); + } catch (SignatureException e) { + log.error("SignatureException"); e.printStackTrace(); - } catch ( IOException e ) { - log.error( "IOException" ); + } catch (IOException e) { + log.error("IOException"); e.printStackTrace(); - } catch ( TException e ) { - log.error( "TException" ); + } catch (TException e) { + log.error("TException"); e.printStackTrace(); } return null; @@ -310,57 +319,60 @@ public class ThriftConnection * @return returns the client if successful. */ private static ImageServer.Client getConnection() - throws UnrecoverableKeyException, NoSuchAlgorithmException, CertificateException, - FileNotFoundException, KeyStoreException, IOException, InvalidKeyException, SignatureException - { + throws UnrecoverableKeyException, NoSuchAlgorithmException, + CertificateException, FileNotFoundException, KeyStoreException, + IOException, InvalidKeyException, SignatureException { ImageServer.Client theClient = null; boolean isAuthenticated = false; - if ( client == null ) { - log.info( "The global client was null. Making a new client ..." ); + if (client == null) { + log.info("The global client was null. Making a new client ..."); theClient = newClient(); - if ( theClient == null ) { - log.debug( "ThriftConnection: The client was null after newClient()" ); + if (theClient == null) { + log.debug("ThriftConnection: The client was null after newClient()"); return null; } } else { - log.info( "The global Client was already used. Setting isAuthenticated = true." ); + log.info("The global Client was already used. Setting isAuthenticated = true."); theClient = client; isAuthenticated = true; } - // try { - // isAuthenticated = theClient.ping(); - // } catch ( TException x ) { - // theClient = newClient(); - // if ( theClient == null ) { - // return null; - // } - // } - if ( !isAuthenticated ) { - log.info( "ThriftConnection: Client not yet Authenticated. Trying..." ); + // try { + // isAuthenticated = theClient.ping(); + // } catch ( TException x ) { + // theClient = newClient(); + // if ( theClient == null ) { + // return null; + // } + // } + if (!isAuthenticated) { + log.info("ThriftConnection: Client not yet Authenticated. Trying..."); String toEncrypt; - if ( theClient == null ) { - log.debug( "The client was null" ); + if (theClient == null) { + log.debug("The client was null"); return null; } try { - toEncrypt = theClient.startServerAuthentication( Globals.getPropertyString( PropString.THRIFTORGANIZATIONNAME ) ); - log.info( "The random String we want to encrypt: " + toEncrypt ); - EncryptWithServerIdPublicKey rse = new EncryptWithServerIdPublicKey( Globals.getPropertyString( PropString.RNDSTRINGENCRYPTALIAS ), - Globals.getPropertyString( PropString.RNDSTRINGENCRYPTPASSWORD ), - Globals.getPropertyString( PropString.RNDSTRINGENCRYPTPATH ) ); - byte[] byteArray = rse.encryptString( toEncrypt ); + toEncrypt = theClient.startServerAuthentication(Globals + .getOrganizationName()); + log.info("The random String we want to encrypt: " + toEncrypt); + EncryptWithServerIdPublicKey rse = new EncryptWithServerIdPublicKey( + Globals.getThriftKeystoreAlias(), + Globals.getThriftKeystorePassword(), + Globals.getThriftKeystorePath()); + byte[] byteArray = rse.encryptString(toEncrypt); sSD = theClient.serverAuthenticate( - Globals.getPropertyString( PropString.THRIFTORGANIZATIONNAME ), ByteBuffer.wrap( byteArray ) ); - } catch ( ServerAuthenticationException e ) { - log.error( "ThriftConnection: ServerAuthenticationException: Server Authetication was not sucessful." ); + Globals.getOrganizationName(), + ByteBuffer.wrap(byteArray)); + } catch (ServerAuthenticationException e) { + log.error("ThriftConnection: ServerAuthenticationException: Server Authetication was not sucessful."); e.printStackTrace(); return null; - } catch ( TException e ) { - log.error( "ThriftConnection: TException: Server Authetication was not sucessful." ); + } catch (TException e) { + log.error("ThriftConnection: TException: Server Authetication was not sucessful."); e.printStackTrace(); return null; } - log.info( "is Authenticated." ); + log.info("is Authenticated."); } client = theClient; @@ -371,20 +383,21 @@ public class ThriftConnection /** * * @return - * @throws IOException + * @throws IOException */ - private static ImageServer.Client newClient() throws IOException - { + private static ImageServer.Client newClient() throws IOException { ImageServer.Client newClient = null; try { TTransport transport; - transport = new TNonblockingSocket( Globals.getPropertyString( PropString.FILETRANSFERSERVERIP ), Globals.getPropertyInt( PropInt.THRIFTPORT ) ); + transport = new TNonblockingSocket( + Globals.getMasterserverHost(), + Globals.getThriftPort()); transport.open(); - TProtocol protocol = new TBinaryProtocol( transport ); - newClient = new ImageServer.Client( protocol ); - log.debug( "ThriftConnection: Made a new Client" ); - } catch ( TException x ) { - log.error( "ThriftConnection coudn't create new client." ); + TProtocol protocol = new TBinaryProtocol(transport); + newClient = new ImageServer.Client(protocol); + log.debug("ThriftConnection: Made a new Client"); + } catch (TException x) { + log.error("ThriftConnection coudn't create new client."); x.printStackTrace(); return null; } |