From 33d0bdeae1bcce8330e1bb4dc1cf51e966cbb7d0 Mon Sep 17 00:00:00 2001 From: pavlospt Date: Thu, 13 Oct 2016 15:17:42 +0300 Subject: [PATCH 01/13] Fix run() method visibility --- .../src/main/java/com/workable/errorhandler/ErrorHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/errorhandler/src/main/java/com/workable/errorhandler/ErrorHandler.java b/errorhandler/src/main/java/com/workable/errorhandler/ErrorHandler.java index f2cee22..24beead 100644 --- a/errorhandler/src/main/java/com/workable/errorhandler/ErrorHandler.java +++ b/errorhandler/src/main/java/com/workable/errorhandler/ErrorHandler.java @@ -269,7 +269,7 @@ protected void handle(Throwable error, ThreadLocal context) { * * @param blockExecutor functional interface containing Exception prone code */ - protected void run(BlockExecutor blockExecutor) { + public void run(BlockExecutor blockExecutor) { try { blockExecutor.invoke(); } catch (Exception exception) { From a8141f0c43d4030e8fe64e0484079a68b49f9e60 Mon Sep 17 00:00:00 2001 From: pavlospt Date: Thu, 13 Oct 2016 15:38:03 +0300 Subject: [PATCH 02/13] Bump version --- errorhandler/build.gradle | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/errorhandler/build.gradle b/errorhandler/build.gradle index 458799b..d0c862d 100644 --- a/errorhandler/build.gradle +++ b/errorhandler/build.gradle @@ -9,7 +9,7 @@ plugins { } group 'com.workable' -version '1.0.0' +version '1.0.1' apply plugin: 'java' apply plugin: 'maven-publish' @@ -46,7 +46,7 @@ publishing { mavenJava(MavenPublication) { groupId 'com.workable' artifactId 'error-handler' - version '1.0.0' + version '1.0.1' from components.java @@ -90,10 +90,10 @@ bintray { labels = ['java', 'error handler', 'errors', 'android'] publicDownloadNumbers = true version { - name = '1.0.0' + name = '1.0.1' desc = 'Error handling library for Android and Java' - vcsTag = 'v1.0.0' + vcsTag = 'v1.0.1' gpg { sign = true //Determines whether to GPG sign the files. The default is false } From 53105df91b77eb91554be4f27faef63afd5004d0 Mon Sep 17 00:00:00 2001 From: Pavlos-Petros Tournaris Date: Thu, 13 Oct 2016 16:14:33 +0300 Subject: [PATCH 03/13] Update README.md --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index afdd276..842c117 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ # ErrorHandler [![Download](https://api.bintray.com/packages/workable/maven/ErrorHandler/images/download.svg) ](https://bintray.com/workable/maven/ErrorHandler/_latestVersion) -[![Bintray](https://img.shields.io/bintray/v/workable/maven/ErrorHandler.svg?maxAge=2592000)](https://bintray.com/workable/maven/ErrorHandler) [![Travis](https://travis-ci.org/Workable/java-error-handler.svg?branch=master)](https://travis-ci.org/Workable/java-error-handler) > Error handling library for Android and Java @@ -13,7 +12,7 @@ Download the [latest JAR](https://bintray.com/workable/maven/ErrorHandler/_lates com.workable error-handler - 1.0.0 + 1.0.1 pom ``` @@ -21,7 +20,7 @@ Download the [latest JAR](https://bintray.com/workable/maven/ErrorHandler/_lates or Gradle: ```groovy -compile 'com.workable:error-handler:1.0.0' +compile 'com.workable:error-handler:1.0.1' ``` From 11654812a3a8b6bf0b4359d4a362e6db5a8eaf70 Mon Sep 17 00:00:00 2001 From: Pavlos-Petros Tournaris Date: Thu, 27 Oct 2016 19:14:25 +0300 Subject: [PATCH 04/13] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 842c117..43cb3b7 100644 --- a/README.md +++ b/README.md @@ -49,12 +49,12 @@ ErrorHandler // Bind HTTP 404 status to 404 .bind(404, errorCode -> throwable -> { - return ((HttpException) throwable).code() == 404; + return throwable instanceof HttpException && ((HttpException) throwable).code() == 404; }) // Bind HTTP 500 status to 500 .bind(500, errorCode -> throwable -> { - return ((HttpException) throwable).code() == 500; + return throwable instanceof HttpException && ((HttpException) throwable).code() == 500; }) // Bind all DB errors to a custom enumeration From 803f8adf923d7b8621b4192862ba0b485f4942d1 Mon Sep 17 00:00:00 2001 From: pavlospt Date: Wed, 9 Nov 2016 12:22:13 +0200 Subject: [PATCH 05/13] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index a1996f1..698b725 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /local.properties *.class errorhandler-matchers/retrofit-rx-matcher/build/ +errorhandler-matchers/retrofit-rx-matcher/dist/ From bb7f7b621c1b891cb8b178cc2717c86097f68cc3 Mon Sep 17 00:00:00 2001 From: pavlospt Date: Thu, 27 Oct 2016 17:47:10 +0300 Subject: [PATCH 06/13] Fix issue with ErrorHandler context --- .../workable/errorhandler/ErrorHandler.java | 15 +++++---- .../errorhandler/ErrorHandlerTest.java | 33 +++++++++++++++++++ 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/errorhandler/src/main/java/com/workable/errorhandler/ErrorHandler.java b/errorhandler/src/main/java/com/workable/errorhandler/ErrorHandler.java index 24beead..5d75b62 100644 --- a/errorhandler/src/main/java/com/workable/errorhandler/ErrorHandler.java +++ b/errorhandler/src/main/java/com/workable/errorhandler/ErrorHandler.java @@ -62,6 +62,12 @@ private ErrorHandler() { this.otherwiseActions = new ArrayList<>(); this.alwaysActions = new ArrayList<>(); this.errorCodeMap = new HashMap<>(); + this.localContext = new ThreadLocal(){ + @Override + protected Context initialValue() { + return new Context(); + } + }; } /** @@ -273,7 +279,7 @@ public void run(BlockExecutor blockExecutor) { try { blockExecutor.invoke(); } catch (Exception exception) { - handle(exception); + handle(exception, localContext); } } @@ -283,12 +289,7 @@ public void run(BlockExecutor blockExecutor) { * @param error the error as a {@link Throwable} */ public void handle(Throwable error) { - this.handle(error, new ThreadLocal() { - @Override - protected Context initialValue() { - return new Context(); - } - }); + this.handle(error, localContext); } /** diff --git a/errorhandler/src/test/java/com/workable/errorhandler/ErrorHandlerTest.java b/errorhandler/src/test/java/com/workable/errorhandler/ErrorHandlerTest.java index dbb047b..d124436 100644 --- a/errorhandler/src/test/java/com/workable/errorhandler/ErrorHandlerTest.java +++ b/errorhandler/src/test/java/com/workable/errorhandler/ErrorHandlerTest.java @@ -34,6 +34,8 @@ interface ActionDelegate { void defaultAction2(); + void defaultAction3(); + void defaultOtherwise(); void defaultAlways(); @@ -62,6 +64,7 @@ protected void setUp() { }) .on(FooException.class, (throwable, errorHandler) -> actionDelegateMock.defaultAction1()) .on(500, (throwable, errorHandler) -> actionDelegateMock.defaultAction2()) + .on("closed:bar", (throwable, errorHandler) -> actionDelegateMock.defaultAction3()) .otherwise((throwable, errorHandler) -> actionDelegateMock.defaultOtherwise()) .always((throwable, errorHandler) -> actionDelegateMock.defaultAlways()); } @@ -278,6 +281,36 @@ public void testErrorHandlerBlockExecutorIgnoresNotMatchedException() { Mockito.verifyNoMoreInteractions(actionDelegateMock); } + @Test + public void testErrorHandlerIfSkipDefaults() { + InOrder testVerifier = inOrder(actionDelegateMock); + + ErrorHandler + .create() + .skipDefaults() + .on("closed:bar", (throwable, handler) -> { + actionDelegateMock.action1(); + }) + .run(() -> { + throw new BarException("", false); + }); + + testVerifier.verify(actionDelegateMock).action1(); + Mockito.verifyNoMoreInteractions(actionDelegateMock); + + ErrorHandler + .create() + .on("closed:bar", (throwable, handler) -> { + actionDelegateMock.action2(); + }) + .run(() -> { + throw new BarException("", false); + }); + + testVerifier.verify(actionDelegateMock).action2(); + testVerifier.verify(actionDelegateMock).defaultAction3(); + } + private enum DBError { READ_ONLY, DEADLOCK, From 504a4274e7de8a99ddac349bfa73189722d56917 Mon Sep 17 00:00:00 2001 From: Pavlos-Petros Tournaris Date: Thu, 17 Nov 2016 22:08:24 +0200 Subject: [PATCH 07/13] Update README.md --- errorhandler-matchers/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/errorhandler-matchers/README.md b/errorhandler-matchers/README.md index cac729d..0acbd79 100644 --- a/errorhandler-matchers/README.md +++ b/errorhandler-matchers/README.md @@ -8,7 +8,7 @@ In order to use them, provide an instance of your desired MatcherFactory when bu ErrorHandler .create() - .bindErrorCode(400, RetrofitMatcherFactory.create()) + .bind(400, RetrofitMatcherFactory.create()) .on(400, (throwable, errorHandler) -> showErrorMessage("what?")) .handle(httpException); @@ -16,8 +16,8 @@ ErrorHandler ErrorHandler .create() - .bindErrorCodeClass(Range.class, RetrofitMatcherFactory.createRange()) - .bindErrorCodeClass(Integer.class, RetrofitMatcherFactory.create()) + .bindClass(Range.class, RetrofitMatcherFactory.createRange()) + .bindClass(Integer.class, RetrofitMatcherFactory.create()) .on(400, (throwable, errorHandler) -> showErrorMessage("what?")) .on(Range.of(500, 599), (throwable, errorHandler) -> showErrorMessage("kaboom")) .handle(httpException); From 7fd6d0db8b2e9dbbf5fc42476c6f38fba4715e9a Mon Sep 17 00:00:00 2001 From: pavlospt Date: Thu, 13 Oct 2016 15:13:49 +0300 Subject: [PATCH 08/13] Initial commit --- build.gradle | 28 ++++++- .../retrofit-rx-matcher/build.gradle | 82 ++++++++++++++++++- 2 files changed, 108 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 64a0847..d9ce1d9 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,8 @@ group 'com.workable' -version '1.0.0' +version 'v1.0.1-alpha' apply plugin: 'java' +apply plugin: 'maven-publish' sourceCompatibility = 1.7 @@ -12,3 +13,28 @@ repositories { dependencies { testCompile group: 'junit', name: 'junit', version: '4.11' } + +publishing { + publications { + mavenJava(MavenPublication) { + groupId 'com.workable' + artifactId 'parent' + version '1.0.1-alpha' + } + } + + repositories { + maven { + url "./dist" + } + } +} + + +Properties localProps = new Properties() + +try { + localProps.load(project.file('local.properties').newDataInputStream()) +} catch(Exception ex) { + logger.warn('local.properties file is missing') +} \ No newline at end of file diff --git a/errorhandler-matchers/retrofit-rx-matcher/build.gradle b/errorhandler-matchers/retrofit-rx-matcher/build.gradle index 71c2a1f..5c6e4d6 100644 --- a/errorhandler-matchers/retrofit-rx-matcher/build.gradle +++ b/errorhandler-matchers/retrofit-rx-matcher/build.gradle @@ -1,7 +1,18 @@ +buildscript { + repositories { + jcenter() + } +} + +plugins { + id "com.jfrog.bintray" version "1.7" +} + group 'com.workable' -version '1.0.0' +version 'v1.0.1-alpha' apply plugin: 'java' +apply plugin: 'maven-publish' sourceCompatibility = 1.7 @@ -16,3 +27,72 @@ dependencies { compile project(':errorhandler') compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0' } + +task sourceJar(type: Jar) { + from sourceSets.main.allJava +} + +task javadocJar(type: Jar) { + classifier = 'javadoc' + from javadoc +} + +publishing { + publications { + mavenJava(MavenPublication) { + groupId 'com.workable' + artifactId 'retrofit-rx-matcher' + version 'v1.0.1-alpha' + + from components.java + + artifact sourceJar { + classifier "sources" + } + + artifact javadocJar { + classifier "javadoc" + } + } + } + + repositories { + maven { + url "./dist" + } + } +} + + +Properties localProps = new Properties() + +try { + localProps.load(project.file('../../local.properties').newDataInputStream()) +} catch(Exception ex) { + logger.warn('local.properties file is missing') +} + +bintray { + user = localProps.getProperty('bintrayUser') + key = localProps.getProperty('bintrayApiKey') + publications = ['mavenJava'] + pkg { + repo = 'maven' + name = 'ErrorHandler' + desc = 'Error handling library for Android and Java' + userOrg = "workable" + licenses = ['MIT'] + vcsUrl = 'https://github.com/Workable/java-error-handler' + labels = ['java', 'error handler', 'errors', 'android'] + publicDownloadNumbers = true + version { + name = 'v1.0.1-alpha' + + desc = 'Error handling library for Android and Java' + vcsTag = 'v1.0.0' + gpg { + sign = true //Determines whether to GPG sign the files. The default is false + } + } + } +} From 22fe796a44e6898b9612dbc69ed27a6cd560db9b Mon Sep 17 00:00:00 2001 From: pavlospt Date: Wed, 9 Nov 2016 12:17:12 +0200 Subject: [PATCH 09/13] Enable multi-gradle configuration --- build.gradle | 4 ++-- errorhandler-matchers/retrofit-rx-matcher/build.gradle | 6 +++--- errorhandler/build.gradle | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index d9ce1d9..f0a6803 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ group 'com.workable' -version 'v1.0.1-alpha' +version '1.0.1-alpha3' apply plugin: 'java' apply plugin: 'maven-publish' @@ -19,7 +19,7 @@ publishing { mavenJava(MavenPublication) { groupId 'com.workable' artifactId 'parent' - version '1.0.1-alpha' + version '1.0.1-alpha3' } } diff --git a/errorhandler-matchers/retrofit-rx-matcher/build.gradle b/errorhandler-matchers/retrofit-rx-matcher/build.gradle index 5c6e4d6..e93a931 100644 --- a/errorhandler-matchers/retrofit-rx-matcher/build.gradle +++ b/errorhandler-matchers/retrofit-rx-matcher/build.gradle @@ -9,7 +9,7 @@ plugins { } group 'com.workable' -version 'v1.0.1-alpha' +version '1.0.1-alpha3' apply plugin: 'java' apply plugin: 'maven-publish' @@ -42,7 +42,7 @@ publishing { mavenJava(MavenPublication) { groupId 'com.workable' artifactId 'retrofit-rx-matcher' - version 'v1.0.1-alpha' + version '1.0.1-alpha3' from components.java @@ -86,7 +86,7 @@ bintray { labels = ['java', 'error handler', 'errors', 'android'] publicDownloadNumbers = true version { - name = 'v1.0.1-alpha' + name = '1.0.1-alpha3' desc = 'Error handling library for Android and Java' vcsTag = 'v1.0.0' diff --git a/errorhandler/build.gradle b/errorhandler/build.gradle index d0c862d..a586d78 100644 --- a/errorhandler/build.gradle +++ b/errorhandler/build.gradle @@ -9,7 +9,7 @@ plugins { } group 'com.workable' -version '1.0.1' +version '1.0.1-alpha3' apply plugin: 'java' apply plugin: 'maven-publish' @@ -46,7 +46,7 @@ publishing { mavenJava(MavenPublication) { groupId 'com.workable' artifactId 'error-handler' - version '1.0.1' + version '1.0.1-alpha3' from components.java @@ -90,10 +90,10 @@ bintray { labels = ['java', 'error handler', 'errors', 'android'] publicDownloadNumbers = true version { - name = '1.0.1' + name = '1.0.1-alpha3' desc = 'Error handling library for Android and Java' - vcsTag = 'v1.0.1' + vcsTag = 'v1.0.0' gpg { sign = true //Determines whether to GPG sign the files. The default is false } From 5068fc72d3ab93414a9a58867d5575f83e2acdc0 Mon Sep 17 00:00:00 2001 From: pavlospt Date: Mon, 28 Nov 2016 14:05:59 +0200 Subject: [PATCH 10/13] Update to version 1.1.0 --- README.md | 4 ++-- build.gradle | 4 ++-- errorhandler-matchers/retrofit-rx-matcher/build.gradle | 8 ++++---- errorhandler/build.gradle | 8 ++++---- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 43cb3b7..a77a5dd 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Download the [latest JAR](https://bintray.com/workable/maven/ErrorHandler/_lates com.workable error-handler - 1.0.1 + 1.1.0 pom ``` @@ -20,7 +20,7 @@ Download the [latest JAR](https://bintray.com/workable/maven/ErrorHandler/_lates or Gradle: ```groovy -compile 'com.workable:error-handler:1.0.1' +compile 'com.workable:error-handler:1.1.0' ``` diff --git a/build.gradle b/build.gradle index f0a6803..14f5715 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ group 'com.workable' -version '1.0.1-alpha3' +version '1.1.0' apply plugin: 'java' apply plugin: 'maven-publish' @@ -19,7 +19,7 @@ publishing { mavenJava(MavenPublication) { groupId 'com.workable' artifactId 'parent' - version '1.0.1-alpha3' + version '1.1.0' } } diff --git a/errorhandler-matchers/retrofit-rx-matcher/build.gradle b/errorhandler-matchers/retrofit-rx-matcher/build.gradle index e93a931..e7a3275 100644 --- a/errorhandler-matchers/retrofit-rx-matcher/build.gradle +++ b/errorhandler-matchers/retrofit-rx-matcher/build.gradle @@ -9,7 +9,7 @@ plugins { } group 'com.workable' -version '1.0.1-alpha3' +version '1.1.0' apply plugin: 'java' apply plugin: 'maven-publish' @@ -42,7 +42,7 @@ publishing { mavenJava(MavenPublication) { groupId 'com.workable' artifactId 'retrofit-rx-matcher' - version '1.0.1-alpha3' + version '1.1.0' from components.java @@ -86,10 +86,10 @@ bintray { labels = ['java', 'error handler', 'errors', 'android'] publicDownloadNumbers = true version { - name = '1.0.1-alpha3' + name = '1.1.0' desc = 'Error handling library for Android and Java' - vcsTag = 'v1.0.0' + vcsTag = 'v1.1.0' gpg { sign = true //Determines whether to GPG sign the files. The default is false } diff --git a/errorhandler/build.gradle b/errorhandler/build.gradle index a586d78..0a3086c 100644 --- a/errorhandler/build.gradle +++ b/errorhandler/build.gradle @@ -9,7 +9,7 @@ plugins { } group 'com.workable' -version '1.0.1-alpha3' +version '1.1.0' apply plugin: 'java' apply plugin: 'maven-publish' @@ -46,7 +46,7 @@ publishing { mavenJava(MavenPublication) { groupId 'com.workable' artifactId 'error-handler' - version '1.0.1-alpha3' + version '1.1.0' from components.java @@ -90,10 +90,10 @@ bintray { labels = ['java', 'error handler', 'errors', 'android'] publicDownloadNumbers = true version { - name = '1.0.1-alpha3' + name = '1.1.0' desc = 'Error handling library for Android and Java' - vcsTag = 'v1.0.0' + vcsTag = 'v1.1.0' gpg { sign = true //Determines whether to GPG sign the files. The default is false } From 952c899a14bb37b68596069651d826aa166bc69a Mon Sep 17 00:00:00 2001 From: pavlospt Date: Mon, 28 Nov 2016 15:06:38 +0200 Subject: [PATCH 11/13] Add missing verification from test --- .../test/java/com/workable/errorhandler/ErrorHandlerTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/errorhandler/src/test/java/com/workable/errorhandler/ErrorHandlerTest.java b/errorhandler/src/test/java/com/workable/errorhandler/ErrorHandlerTest.java index d124436..049666d 100644 --- a/errorhandler/src/test/java/com/workable/errorhandler/ErrorHandlerTest.java +++ b/errorhandler/src/test/java/com/workable/errorhandler/ErrorHandlerTest.java @@ -116,6 +116,7 @@ public void testActionsExecutionOrder() { testVerifier2.verify(actionDelegateMock).action3(); testVerifier2.verify(actionDelegateMock).always1(); + testVerifier2.verify(actionDelegateMock).defaultAction3(); testVerifier2.verify(actionDelegateMock).defaultAlways(); testVerifier2.verifyNoMoreInteractions(); Mockito.verifyNoMoreInteractions(actionDelegateMock); From 1c16c8f487593eddd88b55f31e9c9bb8243522df Mon Sep 17 00:00:00 2001 From: Pavlos-Petros Tournaris Date: Thu, 8 Dec 2016 11:51:49 +0200 Subject: [PATCH 12/13] Update README.md --- errorhandler-matchers/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/errorhandler-matchers/README.md b/errorhandler-matchers/README.md index 0acbd79..ee2ac1c 100644 --- a/errorhandler-matchers/README.md +++ b/errorhandler-matchers/README.md @@ -4,6 +4,14 @@ By default ErrorHandler provides you with a public, fully customizable MatcherFa In order to use them, provide an instance of your desired MatcherFactory when building your ErrorHandler instances. +## Usage + +### Retrofit-Rx-Matcher + +```gradle +compile 'com.workable:retrofit-rx-matcher:1.1.0' +``` + ```java ErrorHandler From 5fa42cff1062194d6fd8d08521b3052000b0ec3b Mon Sep 17 00:00:00 2001 From: Niky Riga Date: Mon, 15 Apr 2024 17:53:39 +0300 Subject: [PATCH 13/13] feat(ci): Add dependabot config for GitHub Actions ref: SRE-5366 --- .github/dependabot.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..83eb023 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: monthly + rebase-strategy: disabled