diff --git a/src/main/java/com/hedera/balanceFileLogger/BalanceFileHistoryLogger.java b/src/main/java/com/hedera/balanceFileLogger/BalanceFileHistoryLogger.java index c6d5c35d13d..95830d664bd 100644 --- a/src/main/java/com/hedera/balanceFileLogger/BalanceFileHistoryLogger.java +++ b/src/main/java/com/hedera/balanceFileLogger/BalanceFileHistoryLogger.java @@ -62,7 +62,7 @@ public static boolean processFile(File balanceFile) { try { // process the file - connect = DatabaseUtilities.openDatabase(connect); + connect = DatabaseUtilities.getConnection(); if (connect != null) { diff --git a/src/main/java/com/hedera/balanceFileLogger/BalanceFileLogger.java b/src/main/java/com/hedera/balanceFileLogger/BalanceFileLogger.java index 32a23b8a3b6..5b082b55b10 100644 --- a/src/main/java/com/hedera/balanceFileLogger/BalanceFileLogger.java +++ b/src/main/java/com/hedera/balanceFileLogger/BalanceFileLogger.java @@ -102,7 +102,7 @@ public static void main(String[] args) { File balanceFile = getLatestBalancefile(balanceFilesPath); if (balanceFile != null) { // process the file - connect = DatabaseUtilities.openDatabase(connect); + connect = DatabaseUtilities.getConnection(); if (connect != null) { PreparedStatement insertBalance; diff --git a/src/main/java/com/hedera/databaseUtilities/DatabaseUtilities.java b/src/main/java/com/hedera/databaseUtilities/DatabaseUtilities.java index 4f7ab88d91b..f0630d32d03 100644 --- a/src/main/java/com/hedera/databaseUtilities/DatabaseUtilities.java +++ b/src/main/java/com/hedera/databaseUtilities/DatabaseUtilities.java @@ -14,8 +14,9 @@ public class DatabaseUtilities { private static final Logger log = LogManager.getLogger("recordStream-log"); static final Marker LOGM_EXCEPTION = MarkerManager.getMarker("EXCEPTION"); + private static Connection connect = null; - public static Connection openDatabase(Connection connect) { + public static Connection getConnection() { if (connect == null) { try { ConfigLoader configLoader = new ConfigLoader("./config/config.json"); @@ -34,8 +35,8 @@ public static Connection openDatabase(Connection connect) { return connect; } - public static Connection closeDatabase(Connection connect) throws SQLException { + public static void closeDatabase() throws SQLException { connect.close(); - return null; + connect = null; } } diff --git a/src/main/java/com/hedera/downloader/Downloader.java b/src/main/java/com/hedera/downloader/Downloader.java index ee6a6187a69..da50ad86886 100644 --- a/src/main/java/com/hedera/downloader/Downloader.java +++ b/src/main/java/com/hedera/downloader/Downloader.java @@ -447,4 +447,39 @@ protected static void setupCloudConnection() { xfer_mgr = TransferManagerBuilder.standard() .withS3Client(s3Client).build(); } + + protected void listObjects() { + ListObjectsRequest listRequest = new ListObjectsRequest() + .withBucketName(bucketName) + .withPrefix("eventstreams/") + .withDelimiter("/") + .withMaxKeys(100); + ObjectListing objects = s3Client.listObjects(listRequest); + try { + while (true) { + List summaries = objects.getObjectSummaries(); + for(S3ObjectSummary summary : summaries) { + + String s3ObjectKey = summary.getKey(); + System.out.println(s3ObjectKey); + } + if(objects.isTruncated()) { + objects = s3Client.listNextBatchOfObjects(objects); + } + else { + break; + } + } + + } catch(AmazonServiceException e) { + // The call was transmitted successfully, but Amazon S3 couldn't process + // it, so it returned an error response. + log.error(MARKER, "Signatures download failed, Exception: {}", e.getStackTrace()); + } catch(SdkClientException e) { + // Amazon S3 couldn't be contacted for a response, or the client + // couldn't parse the response from Amazon S3. + log.error(MARKER, "Signatures download failed, Exception: {}", e.getStackTrace()); + } + + } } diff --git a/src/main/java/com/hedera/downloader/EventStreamDownloader.java b/src/main/java/com/hedera/downloader/EventStreamDownloader.java new file mode 100644 index 00000000000..bba3aba7d6f --- /dev/null +++ b/src/main/java/com/hedera/downloader/EventStreamDownloader.java @@ -0,0 +1,18 @@ +package com.hedera.downloader; + +import com.hedera.configLoader.ConfigLoader; +import com.hedera.parser.EventStreamFileParser; + +public class EventStreamDownloader extends Downloader { + public EventStreamDownloader(ConfigLoader configLoader) { + super(configLoader); + } + + public static void main(String[] args) { + configLoader = new ConfigLoader("./config/config.json"); + EventStreamDownloader downloader = new EventStreamDownloader(configLoader); + setupCloudConnection(); + downloader.listObjects(); + + } +} diff --git a/src/main/java/com/hedera/parser/EventStreamFileParser.java b/src/main/java/com/hedera/parser/EventStreamFileParser.java index 1b9ed92fe89..580be07a546 100644 --- a/src/main/java/com/hedera/parser/EventStreamFileParser.java +++ b/src/main/java/com/hedera/parser/EventStreamFileParser.java @@ -16,6 +16,7 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; +import java.sql.Connection; import java.time.Instant; import java.util.Arrays; import java.util.List; @@ -33,6 +34,7 @@ public class EventStreamFileParser { static final byte STREAM_EVENT_START_WITH_VERSION = 0x5a; static final byte commEventLast = 0x46; + private static Connection connect = null; private static ConfigLoader configLoader; @@ -221,12 +223,10 @@ static public void loadRecordFiles(List fileNames) { } public static void main(String[] args) { - String pathName; - configLoader = new ConfigLoader("./config/config.json"); - pathName = configLoader.getDefaultParseDir_EventStream(); - log.info(MARKER, "EventStream files folder got from configuration file: {}", configLoader.getDefaultParseDir_EventStream()); + String pathName = configLoader.getDefaultParseDir_EventStream(); + log.info(MARKER, "EventStream files folder got from configuration file: {}", pathName); if (pathName != null) { diff --git a/src/main/java/com/hedera/recordFileLogger/RecordFileLogger.java b/src/main/java/com/hedera/recordFileLogger/RecordFileLogger.java index 348f33220c7..f56dbe49c32 100644 --- a/src/main/java/com/hedera/recordFileLogger/RecordFileLogger.java +++ b/src/main/java/com/hedera/recordFileLogger/RecordFileLogger.java @@ -4,7 +4,6 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.sql.Timestamp; import java.time.Instant; import java.util.Date; import java.util.HashMap; @@ -109,7 +108,7 @@ enum F_ENTITIES { } public static boolean start() { - connect = DatabaseUtilities.openDatabase(connect); + connect = DatabaseUtilities.getConnection(); if (connect == null) { return false; } @@ -117,7 +116,7 @@ public static boolean start() { } public static boolean finish() { try { - connect = DatabaseUtilities.closeDatabase(connect); + DatabaseUtilities.closeDatabase(); return false; } catch (SQLException e) { log.error(LOGM_EXCEPTION, "Exception {}", e);