From a76cb339f18f8106f1566a5f1ee5b040d9db6e69 Mon Sep 17 00:00:00 2001 From: xuqiwei Date: Thu, 13 Jan 2022 14:28:02 +0800 Subject: [PATCH 1/3] fix: file io bug --- .../sdk/service/impl/FileMgrServiceImpl.java | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/main/java/cn/hyperchain/sdk/service/impl/FileMgrServiceImpl.java b/src/main/java/cn/hyperchain/sdk/service/impl/FileMgrServiceImpl.java index 0cec947f..e86f8ef8 100644 --- a/src/main/java/cn/hyperchain/sdk/service/impl/FileMgrServiceImpl.java +++ b/src/main/java/cn/hyperchain/sdk/service/impl/FileMgrServiceImpl.java @@ -319,22 +319,22 @@ public FileDownloadResponse fileDownload(String filePath, String fileHash, Strin } } return new FileDownloadResponse(e.getCode(), e.getMsg()); - } - - try { - fileLock.release(); - } catch (IOException e) { - logger.warn("release fileLock failed"); - } - try { - channel.close(); - } catch (IOException e) { - logger.warn("close file channel failed"); - } - try { - randomAccessFile.close(); - } catch (IOException e) { - logger.warn("close randomAccessFile failed"); + } finally { + try { + fileLock.release(); + } catch (IOException e) { + logger.warn("release fileLock failed"); + } + try { + channel.close(); + } catch (IOException e) { + logger.warn("close file channel failed"); + } + try { + randomAccessFile.close(); + } catch (IOException e) { + logger.warn("close randomAccessFile failed"); + } } return fileDownloadResponse; } From 6739b3c6e0e6ec7b9d719bf08c44f50cbd274c2c Mon Sep 17 00:00:00 2001 From: glowwormX <31609768+glowwormX@users.noreply.github.com> Date: Thu, 13 Jan 2022 20:05:58 +0800 Subject: [PATCH 2/3] fix: file io bug --- .../sdk/service/impl/FileMgrServiceImpl.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/main/java/cn/hyperchain/sdk/service/impl/FileMgrServiceImpl.java b/src/main/java/cn/hyperchain/sdk/service/impl/FileMgrServiceImpl.java index e86f8ef8..df0e2b64 100644 --- a/src/main/java/cn/hyperchain/sdk/service/impl/FileMgrServiceImpl.java +++ b/src/main/java/cn/hyperchain/sdk/service/impl/FileMgrServiceImpl.java @@ -110,12 +110,14 @@ public FileUploadResponse fileUpload(String filePath, String description, Accoun fileUploadResponse = (FileUploadResponse) fileTransferRequest.send(); } catch (RequestException e) { throw new FileMgrException("File upload failed" + e.getMsg()); + } finally { + try { + randomAccessFile.close(); + } catch (IOException e) { + logger.warn("close randomAccessFile failed"); + } } - try { - randomAccessFile.close(); - } catch (IOException e) { - logger.warn("close randomAccessFile failed"); - } + fileUploadResponse.setTranRequest(fileTransferRequest); fileUploadResponse.setFileHash(fileHash); fileUploadResponse.setProviderManager(providerManager); @@ -191,11 +193,12 @@ public FileUploadResponse fileUpload(FileUploadParams fileParams,int nodeId) thr fileUploadResponse = (FileUploadResponse) fileTransferRequest.send(); } catch (RequestException e) { throw new FileMgrException("File upload failed" + e.getMsg()); - } - try { - randomAccessFile.close(); - } catch (IOException e) { - logger.warn("close randomAccessFile failed"); + } finally { + try { + randomAccessFile.close(); + } catch (IOException e) { + logger.warn("close randomAccessFile failed"); + } } fileUploadResponse.setTranRequest(fileTransferRequest); fileUploadResponse.setFileHash(fileHash); From 7f8b0d57446886ec52cb69463fdc2e1c31f166f7 Mon Sep 17 00:00:00 2001 From: xuqiwei Date: Fri, 14 Jan 2022 09:39:29 +0800 Subject: [PATCH 3/3] feat: FileExtraFromFileHashResponse add getTransaction() --- .../filemgr/FileExtraFromFileHashResponse.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/cn/hyperchain/sdk/response/filemgr/FileExtraFromFileHashResponse.java b/src/main/java/cn/hyperchain/sdk/response/filemgr/FileExtraFromFileHashResponse.java index 534e6e96..d7502a69 100644 --- a/src/main/java/cn/hyperchain/sdk/response/filemgr/FileExtraFromFileHashResponse.java +++ b/src/main/java/cn/hyperchain/sdk/response/filemgr/FileExtraFromFileHashResponse.java @@ -26,6 +26,19 @@ public FileExtra getFileExtra() { return FileExtra.fromJson(extra); } + /** + * parse transaction from result. + * + * @return transaction + */ + public TxResponse.Transaction getTransaction() { + List transactions = result.parseResult(TxResponse.Transaction.class); + if (transactions.size() == 0) { + throw new RuntimeException("can't get any transaction"); + } + return transactions.get(0); + } + @Override public String toString() { return "FileExtraFromFileHashResponse{" +