From 492f9c8f06d3f62270ecf1ed187c86ca4399195e Mon Sep 17 00:00:00 2001 From: "helmi.nour" Date: Tue, 28 Jun 2022 00:26:36 +0100 Subject: [PATCH 1/3] added cancel transaction async --- .../examples/CancelTransaction.java | 30 ++++++++++++ .../examples/DeleteTransaction.java | 46 ------------------- .../main/java/com/relationalai/Client.java | 6 +-- .../TransactionAsyncCancelResponse.java | 8 ++++ 4 files changed, 41 insertions(+), 49 deletions(-) create mode 100644 rai-sdk-examples/src/main/java/com/relationalai/examples/CancelTransaction.java delete mode 100644 rai-sdk-examples/src/main/java/com/relationalai/examples/DeleteTransaction.java create mode 100644 rai-sdk/src/main/java/com/relationalai/TransactionAsyncCancelResponse.java diff --git a/rai-sdk-examples/src/main/java/com/relationalai/examples/CancelTransaction.java b/rai-sdk-examples/src/main/java/com/relationalai/examples/CancelTransaction.java new file mode 100644 index 00000000..f9d63ced --- /dev/null +++ b/rai-sdk-examples/src/main/java/com/relationalai/examples/CancelTransaction.java @@ -0,0 +1,30 @@ +package com.relationalai.examples; + +import com.relationalai.Client; +import com.relationalai.Config; +import com.relationalai.HttpError; +import com.relationalai.Json; + +import java.io.IOException; + +public class CancelTransaction implements Runnable { + String id, profile; + + public void parseArgs(String[] args) { + var c = Command.create("CancelTransaction") + .addArgument("id") + .addOption("profile", "config profile (default: default)") + .parseArgs(args); + this.id = c.getValue("id"); + this.profile = c.getValue("profile"); + } + + public void run(String[] args) throws HttpError, InterruptedException, IOException { + parseArgs(args); + var cfg = Config.loadConfig("~/.rai/config", profile); + var client = new Client(cfg); + + var rsp = client.cancelTransaction(id); + Json.print(rsp); + } +} diff --git a/rai-sdk-examples/src/main/java/com/relationalai/examples/DeleteTransaction.java b/rai-sdk-examples/src/main/java/com/relationalai/examples/DeleteTransaction.java deleted file mode 100644 index c549f1d5..00000000 --- a/rai-sdk-examples/src/main/java/com/relationalai/examples/DeleteTransaction.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2022 RelationalAI, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"): you may - * not use this file except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -package com.relationalai.examples; - -import com.relationalai.Client; -import com.relationalai.Config; -import com.relationalai.HttpError; -import com.relationalai.Json; - -import java.io.IOException; - -public class DeleteTransaction implements Runnable { - String id, profile; - - public void parseArgs(String[] args) { - var c = Command.create("DeleteTransaction") - .addArgument("id") - .addOption("profile", "config profile (default: default)") - .parseArgs(args); - this.id = c.getValue("id"); - this.profile = c.getValue("profile"); - } - - public void run(String[] args) throws HttpError, InterruptedException, IOException { - parseArgs(args); - var cfg = Config.loadConfig("~/.rai/config", profile); - var client = new Client(cfg); - - var rsp = client.deleteTransaction(id); - Json.print(rsp); - } -} diff --git a/rai-sdk/src/main/java/com/relationalai/Client.java b/rai-sdk/src/main/java/com/relationalai/Client.java index 559b27af..1689fee2 100644 --- a/rai-sdk/src/main/java/com/relationalai/Client.java +++ b/rai-sdk/src/main/java/com/relationalai/Client.java @@ -809,9 +809,9 @@ public List getTransactionProblems(String id) throws HttpError, IOExcept return parseProblemsResult(rsp); } - public TransactionAsyncDeleteResponse deleteTransaction(String id) throws HttpError, IOException, InterruptedException { - var rsp = (String) delete(String.format("%s/%s", PATH_TRANSACTIONS, id)); - return Json.deserialize(rsp, TransactionAsyncDeleteResponse.class); + public TransactionAsyncCancelResponse cancelTransaction(String id) throws HttpError, IOException, InterruptedException { + var rsp = (String) post(String.format("%s/%s/cancel", PATH_TRANSACTIONS, id), null, null); + return Json.deserialize(rsp, TransactionAsyncCancelResponse.class); } // EDBs diff --git a/rai-sdk/src/main/java/com/relationalai/TransactionAsyncCancelResponse.java b/rai-sdk/src/main/java/com/relationalai/TransactionAsyncCancelResponse.java new file mode 100644 index 00000000..d283df5a --- /dev/null +++ b/rai-sdk/src/main/java/com/relationalai/TransactionAsyncCancelResponse.java @@ -0,0 +1,8 @@ +package com.relationalai; + +import com.jsoniter.annotation.JsonProperty; + +public class TransactionAsyncCancelResponse extends Entity { + @JsonProperty(value = "message") + public String message; +} From 09d58634cc076d53565dc5f62c8b94b4bd8e9091 Mon Sep 17 00:00:00 2001 From: "helmi.nour" Date: Tue, 28 Jun 2022 00:40:27 +0100 Subject: [PATCH 2/3] fix tests --- .../java/com/relationalai/LoadCsvTest.java | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/rai-sdk/src/test/java/com/relationalai/LoadCsvTest.java b/rai-sdk/src/test/java/com/relationalai/LoadCsvTest.java index b4491212..5bb1a33c 100644 --- a/rai-sdk/src/test/java/com/relationalai/LoadCsvTest.java +++ b/rai-sdk/src/test/java/com/relationalai/LoadCsvTest.java @@ -55,7 +55,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {29., 60., 91., 127.}, + {2., 3., 4., 5.}, {"2020-01-01", "2020-02-02", "2020-03-03", "2020-04-04"} }, rel.columns); @@ -63,7 +63,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {29., 60., 91., 127.}, + {2., 3., 4., 5.}, {"12.50", "14.25", "11.00", "12.25"} }, rel.columns); @@ -71,7 +71,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {29., 60., 91., 127.}, + {2., 3., 4., 5.}, {"2", "4", "4", "3"} }, rel.columns); @@ -79,7 +79,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {29., 60., 91., 127.}, + {2., 3., 4., 5.}, {"martini", "sazerac", "cosmopolitan", "bellini"} }, rel.columns); } @@ -111,7 +111,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {0., 31., 62., 98.}, + {1., 2., 3., 4.}, {"martini", "sazerac", "cosmopolitan", "bellini"} }, rel.columns); @@ -120,7 +120,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {0., 31., 62., 98.}, + {1., 2., 3., 4.}, {"2", "4", "4", "3"} }, rel.columns); @@ -128,7 +128,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {0., 31., 62., 98.}, + {1., 2., 3., 4.}, {"12.50", "14.25", "11.00", "12.25"} }, rel.columns); @@ -136,7 +136,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {0., 31., 62., 98.}, + {1., 2., 3., 4.}, {"2020-01-01", "2020-02-02", "2020-03-03", "2020-04-04"} }, rel.columns); } @@ -168,7 +168,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {29., 60., 91., 127.}, + {2., 3., 4., 5.}, {"2020-01-01", "2020-02-02", "2020-03-03", "2020-04-04"} }, rel.columns); @@ -176,7 +176,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {29., 60., 91., 127.}, + {2., 3., 4., 5.}, {"12.50", "14.25", "11.00", "12.25"} }, rel.columns); @@ -184,7 +184,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {29., 60., 91., 127.}, + {2., 3., 4., 5.}, {"2", "4", "4", "3"} }, rel.columns); @@ -192,7 +192,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {29., 60., 91., 127.}, + {2., 3., 4., 5.}, {"martini", "sazerac", "cosmopolitan", "bellini"} }, rel.columns); } @@ -222,7 +222,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {29., 60., 91., 127.}, + {2., 3., 4., 5.}, {"2020-01-01", "2020-02-02", "2020-03-03", "2020-04-04"} }, rel.columns); assertEquals(1, rel.relKey.values.length); @@ -232,7 +232,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {29., 60., 91., 127.}, + {2., 3., 4., 5.}, {12.5, 14.25, 11.00, 12.25} }, rel.columns); assertEquals(1, rel.relKey.values.length); @@ -242,7 +242,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {29., 60., 91., 127.}, + {2., 3., 4., 5.}, {2., 4., 4., 3.} }, rel.columns); assertEquals(1, rel.relKey.values.length); @@ -252,7 +252,7 @@ public class LoadCsvTest extends UnitTest { assertNotNull(rel); assertEquals(2, rel.columns.length); assertArrayEquals(new Object[][] { - {29., 60., 91., 127.}, + {2., 3., 4., 5.}, {"martini", "sazerac", "cosmopolitan", "bellini"} }, rel.columns); assertEquals(1, rel.relKey.values.length); From e28ddae92a96492c7ab5f96b84ea19fa095a5fa8 Mon Sep 17 00:00:00 2001 From: "helmi.nour" Date: Tue, 28 Jun 2022 01:04:34 +0100 Subject: [PATCH 3/3] bump up version --- CHANGELOG.md | 5 ++++- README.md | 2 +- pom.xml | 2 +- rai-sdk-examples/pom.xml | 2 +- rai-sdk/pom.xml | 2 +- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2867499a..0de8ad99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,7 @@ -## v0.2.2-alpha (latest) +## v0.3.0-alpha +* Added `CancelTransaction` feature. + +## v0.2.2-alpha * Fixed `getTransaction` missing required properties: [finished_at]. * Added `deleteTransaction`. diff --git a/README.md b/README.md index 339c1f25..16ac923c 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ In order to use the `rai-sdk-java`, you need add this dependency to your project com.relationalai rai-sdk - 0.2.2-alpha + 0.3.0-alpha You need also to point maven to the SDK GitHub packages repository in the project's POM: diff --git a/pom.xml b/pom.xml index 46d239ff..fee7c684 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ The RelationalAI Software Development Kit (SDK) for Java com.relationalai rai-sdk-pom - 0.2.2-alpha + 0.3.0-alpha pom diff --git a/rai-sdk-examples/pom.xml b/rai-sdk-examples/pom.xml index 345bf50b..65ca3a92 100644 --- a/rai-sdk-examples/pom.xml +++ b/rai-sdk-examples/pom.xml @@ -20,7 +20,7 @@ com.relationalai rai-sdk-pom - 0.2.2-alpha + 0.3.0-alpha RelationalAI SDK for Java Examples diff --git a/rai-sdk/pom.xml b/rai-sdk/pom.xml index 43a6f9eb..6f449e47 100644 --- a/rai-sdk/pom.xml +++ b/rai-sdk/pom.xml @@ -20,7 +20,7 @@ com.relationalai rai-sdk-pom - 0.2.2-alpha + 0.3.0-alpha RelationalAI SDK for Java Package