From 6455738d3409bc1fc681a323c01d42ed8ea5145b Mon Sep 17 00:00:00 2001 From: Conor Flynn Date: Tue, 29 Nov 2022 09:09:28 -0500 Subject: [PATCH] Update application internals regarding Amberdata change. --- .../Internal Manual/Packet Spreadsheet.xlsx | Bin 19584 -> 19580 bytes .../java/org/rest/application/Endpoint.java | 1 + DeFi-Data-Engine/Testing Environment/pom.xml | 5 ++ .../src/test/connection/socket/LocalTest.java | 20 +++-- .../test/connection/socket/ServerTest.java | 2 +- .../src/test/misc/Testing1.java | 80 ++++++++++-------- 6 files changed, 69 insertions(+), 39 deletions(-) diff --git a/Data Engine/Documents/Internal Manual/Packet Spreadsheet.xlsx b/Data Engine/Documents/Internal Manual/Packet Spreadsheet.xlsx index daabe0ce338068ae01ed527510b512035bfc8b99..801e6381bf2a8e2f2aa23b44e27535a33e05e971 100644 GIT binary patch delta 5618 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 delta 5645 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 diff --git a/DeFi-Data-Engine/Rest Application/src/main/java/org/rest/application/Endpoint.java b/DeFi-Data-Engine/Rest Application/src/main/java/org/rest/application/Endpoint.java index f03aabcc..4213b4f3 100644 --- a/DeFi-Data-Engine/Rest Application/src/main/java/org/rest/application/Endpoint.java +++ b/DeFi-Data-Engine/Rest Application/src/main/java/org/rest/application/Endpoint.java @@ -151,6 +151,7 @@ private final String request(String tag, String sub_tag, String... data) { } // static request + System.out.println(String.format("%s%s%s%s%s", tag, delim, sub_tag, delim, formatted_data)); out.writeUTF(String.format("%s%s%s%s%s", tag, delim, sub_tag, delim, formatted_data)); return in.readUTF(); } catch (IOException e) { diff --git a/DeFi-Data-Engine/Testing Environment/pom.xml b/DeFi-Data-Engine/Testing Environment/pom.xml index e38f29b7..16770339 100644 --- a/DeFi-Data-Engine/Testing Environment/pom.xml +++ b/DeFi-Data-Engine/Testing Environment/pom.xml @@ -45,6 +45,11 @@ json 20220320 + + com.squareup.okhttp3 + okhttp + 4.2.0 + diff --git a/DeFi-Data-Engine/Testing Environment/src/test/connection/socket/LocalTest.java b/DeFi-Data-Engine/Testing Environment/src/test/connection/socket/LocalTest.java index bfc84d0f..5dd556ae 100644 --- a/DeFi-Data-Engine/Testing Environment/src/test/connection/socket/LocalTest.java +++ b/DeFi-Data-Engine/Testing Environment/src/test/connection/socket/LocalTest.java @@ -15,7 +15,7 @@ public class LocalTest { - private static final String host = "localhost"; + private static final String host = "defi-de.idea.rpi.edu"; public static void main(String[] args) throws UnknownHostException, IOException { final Socket socket = SocketFactory.getDefault().createSocket(host, 61200); @@ -41,11 +41,10 @@ public void run() { + "source=amber_data&" + "auth_data=key,UAK7ed69235426c360be22bfc2bde1809b6", host)); - //System.out.println(init); + System.out.println(init); JSONObject json_init = new JSONObject(init); String key = json_init.getString("data"); - long s = System.nanoTime(); String rqst = request(String.format("http://%s:8080/defi/v1/rest/request_dated?" + "destination=%s&" + "key=%s&" @@ -57,8 +56,19 @@ public void run() { destination, key, "2022-08-01", - "2022-09-01")); - long e = System.nanoTime(); + "2022-08-02")); +// String rqst = request(String.format("http://%s:8080/defi/v1/rest/request_dated?" +// + "destination=%s&" +// + "key=%s&" +// + "request=aave-protocol-dated&" +// + "query=aave-protocol-dated&" +// + "start_date=%s&" +// + "end_date=%s", +// host, +// destination, +// key, +// "2022-08-01", +// "2022-08-02")); System.out.println(rqst); } diff --git a/DeFi-Data-Engine/Testing Environment/src/test/connection/socket/ServerTest.java b/DeFi-Data-Engine/Testing Environment/src/test/connection/socket/ServerTest.java index fa162d29..5e98e5e7 100644 --- a/DeFi-Data-Engine/Testing Environment/src/test/connection/socket/ServerTest.java +++ b/DeFi-Data-Engine/Testing Environment/src/test/connection/socket/ServerTest.java @@ -33,7 +33,7 @@ public void run() { } }; thread.start(); - + System.out.println("Requesting"); String sample = request("http://defi-de.idea.rpi.edu:8080/defi/v1/rest/source_exists?source=amber_data"); System.out.println(sample); } diff --git a/DeFi-Data-Engine/Testing Environment/src/test/misc/Testing1.java b/DeFi-Data-Engine/Testing Environment/src/test/misc/Testing1.java index f6a4303c..0d3e9f68 100644 --- a/DeFi-Data-Engine/Testing Environment/src/test/misc/Testing1.java +++ b/DeFi-Data-Engine/Testing Environment/src/test/misc/Testing1.java @@ -1,42 +1,56 @@ package test.misc; -import java.util.Arrays; +import java.io.IOException; + +import org.json.JSONArray; +import org.json.JSONObject; + +import okhttp3.OkHttpClient; +import okhttp3.Request; public class Testing1 { - /* lis() returns the length of the longest - increasing subsequence in arr[] of size n */ - static int lis(int arr[], int n) - { - int lis[] = new int[n]; - int i, j, max = 0; - - /* Initialize LIS values for all indexes */ - for (i = 0; i < n; i++) - lis[i] = 1; - - /* Compute optimized LIS values in - bottom up manner */ - for (i = 1; i < n; i++) - for (j = 0; j < i; j++) - if (arr[i] > arr[j] && lis[i] < lis[j] + 1) { - lis[i] = lis[j] + 1; - System.out.println(Arrays.toString(lis)); - } - - /* Pick maximum of all LIS values */ - for (i = 0; i < n; i++) - if (max < lis[i]) - max = lis[i]; - - return max; - } - public static void main(String args[]) { - int arr[] = { 10, 22, 9, 33, 21, 50, 41, 60 }; - int n = arr.length; - System.out.println("Length of lis is " + lis(arr, n) - + "\n"); + String url = String.format("https://web3api.io/api/v2/defi/lending/aavev2/protocol?startDate=%s&endDate=%s", + "2022-09-01T01:00:00", + "2022-09-02T01:00:00" + + "&size=999"); + + recursiveCall(url); + System.out.println("Exit"); + System.exit(0); + } + + public static void recursiveCall(String url) { + System.out.println(url); + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url(url) + .get() + .addHeader("accept", "application/json") + .addHeader("x-api-key", "UAK7ed69235426c360be22bfc2bde1809b6") + .build(); + + okhttp3.Response response; + try { + response = client.newCall(request).execute(); + JSONObject json = new JSONObject(response.body().string()); + + JSONObject payload = json.getJSONObject("payload"); + JSONArray arr = payload.getJSONArray("data"); + for(int i = 0; i < arr.length(); i++) { + System.out.println(arr.get(i).toString()); + } + System.out.println(arr.length()); + if(arr.length() >= 999) { + JSONObject metadata = payload.getJSONObject("metadata"); + if(metadata.has("next")) + recursiveCall(metadata.getString("next")+"&size=999"); + } + } catch (IOException e) { + e.printStackTrace(); + } } }