diff --git a/pom.xml b/pom.xml
index dba4927..4bcc572 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.yetanalytics
xapi-tools
jar
- 0.0.5
+ 0.0.6
xAPI Tools
Java Serialization Model and Tools for xAPI Standard (IEEE 9274.1.1)
https://github.com/yetanalytics/java-xapi-tools
@@ -117,7 +117,7 @@
org.testcontainers
testcontainers
- 1.20.6
+ 2.0.5
test
diff --git a/src/main/java/com/yetanalytics/xapi/client/StatementClient.java b/src/main/java/com/yetanalytics/xapi/client/StatementClient.java
index d0f13c3..729d3d3 100644
--- a/src/main/java/com/yetanalytics/xapi/client/StatementClient.java
+++ b/src/main/java/com/yetanalytics/xapi/client/StatementClient.java
@@ -77,9 +77,9 @@ private List doPost(List statements, URI endpoint)
new TypeReference>(){});
} else {
EntityUtils.consumeQuietly(response.getEntity());
+ int statusCode = response.getStatusLine().getStatusCode();
throw new StatementClientException(String.format(
- "Error, Non-200 Status. Received: %s",
- response.getStatusLine().getStatusCode()));
+ "Error, Non-200 Status. Received: %s", statusCode), statusCode);
}
}
@@ -107,7 +107,7 @@ public List postStatements(List stmts) {
}
return result;
} catch (ParseException | IOException e) {
- throw new StatementClientException("Error posting Statements", e);
+ throw new StatementClientException("Error posting Statements", 0, e);
}
}
@@ -121,9 +121,9 @@ private StatementResult doGetStatementResult(URI endpoint)
return Mapper.getMapper().readValue(responseBody, StatementResult.class);
} else {
EntityUtils.consumeQuietly(response.getEntity());
+ int statusCode = response.getStatusLine().getStatusCode();
throw new StatementClientException(String.format(
- "Error, Non-200 Status. Received: %s",
- response.getStatusLine().getStatusCode()));
+ "Error, Non-200 Status. Received: %s", statusCode), statusCode);
}
}
@@ -137,9 +137,9 @@ private Statement doGetStatement(URI endpoint)
return Mapper.getMapper().readValue(responseBody, Statement.class);
} else {
EntityUtils.consumeQuietly(response.getEntity());
+ int statusCode = response.getStatusLine().getStatusCode();
throw new StatementClientException(String.format(
- "Error, Non-200 Status. Received: %s",
- response.getStatusLine().getStatusCode()));
+ "Error, Non-200 Status. Received: %s", statusCode), statusCode);
}
}
@@ -195,7 +195,7 @@ public List getStatements(StatementFilters filters, Integer max) {
}
} catch (IOException e) {
- throw new StatementClientException("Error getting Statements", e);
+ throw new StatementClientException("Error getting Statements", 0, e);
}
return statements;
}
diff --git a/src/main/java/com/yetanalytics/xapi/exception/StatementClientException.java b/src/main/java/com/yetanalytics/xapi/exception/StatementClientException.java
index 4b8d05b..ac34159 100644
--- a/src/main/java/com/yetanalytics/xapi/exception/StatementClientException.java
+++ b/src/main/java/com/yetanalytics/xapi/exception/StatementClientException.java
@@ -1,6 +1,8 @@
package com.yetanalytics.xapi.exception;
public class StatementClientException extends RuntimeException {
+
+ private Integer statusCode;
public StatementClientException() {
super();
@@ -10,14 +12,33 @@ public StatementClientException(String message) {
super(message);
}
+ public StatementClientException(String message, Integer status) {
+ super(message);
+ this.statusCode = status;
+ }
+
public StatementClientException(String message, Throwable cause) {
super(message, cause);
}
+ public StatementClientException(String message, Integer status, Throwable cause) {
+ super(message, cause);
+ this.statusCode = status;
+ }
+
public StatementClientException(Throwable cause) {
super(cause);
}
+ public StatementClientException(Integer status, Throwable cause) {
+ super(cause);
+ this.statusCode = status;
+ }
+
+ public Integer getStatusCode() {
+ return statusCode;
+ }
+
@Override
public String getMessage() {
return "StatementClientException: " + super.getMessage();
diff --git a/src/test/java/com/yetanalytics/model/ActivityDefinitionTest.java b/src/test/java/com/yetanalytics/model/ActivityDefinitionTest.java
index 35fdba6..b96f9eb 100644
--- a/src/test/java/com/yetanalytics/model/ActivityDefinitionTest.java
+++ b/src/test/java/com/yetanalytics/model/ActivityDefinitionTest.java
@@ -6,7 +6,7 @@
import java.util.HashMap;
import java.util.List;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/yetanalytics/model/StatementTest.java b/src/test/java/com/yetanalytics/model/StatementTest.java
index bd8fc04..5384d57 100644
--- a/src/test/java/com/yetanalytics/model/StatementTest.java
+++ b/src/test/java/com/yetanalytics/model/StatementTest.java
@@ -6,7 +6,7 @@
import java.util.List;
import java.util.UUID;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.semver4j.Semver;
diff --git a/src/test/java/com/yetanalytics/xapi/client/StatementClientTest.java b/src/test/java/com/yetanalytics/xapi/client/StatementClientTest.java
index 477ce8d..3e1d478 100644
--- a/src/test/java/com/yetanalytics/xapi/client/StatementClientTest.java
+++ b/src/test/java/com/yetanalytics/xapi/client/StatementClientTest.java
@@ -1,8 +1,8 @@
package com.yetanalytics.xapi.client;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.File;
import java.io.IOException;
diff --git a/src/test/java/com/yetanalytics/xapi/client/filters/StatementFiltersTest.java b/src/test/java/com/yetanalytics/xapi/client/filters/StatementFiltersTest.java
index b52d2b9..a793e1f 100644
--- a/src/test/java/com/yetanalytics/xapi/client/filters/StatementFiltersTest.java
+++ b/src/test/java/com/yetanalytics/xapi/client/filters/StatementFiltersTest.java
@@ -1,7 +1,7 @@
package com.yetanalytics.xapi.client.filters;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.net.URI;
import java.util.UUID;
diff --git a/src/test/java/com/yetanalytics/xapi/model/LangTagTest.java b/src/test/java/com/yetanalytics/xapi/model/LangTagTest.java
index 13c4eed..4185212 100644
--- a/src/test/java/com/yetanalytics/xapi/model/LangTagTest.java
+++ b/src/test/java/com/yetanalytics/xapi/model/LangTagTest.java
@@ -2,9 +2,9 @@
import java.util.IllformedLocaleException;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import org.junit.jupiter.api.Test;
public class LangTagTest {
diff --git a/src/test/java/com/yetanalytics/xapi/util/StatementValidatorTest.java b/src/test/java/com/yetanalytics/xapi/util/StatementValidatorTest.java
index a016f42..371445b 100644
--- a/src/test/java/com/yetanalytics/xapi/util/StatementValidatorTest.java
+++ b/src/test/java/com/yetanalytics/xapi/util/StatementValidatorTest.java
@@ -1,10 +1,10 @@
package com.yetanalytics.xapi.util;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.Set;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import com.yetanalytics.xapi.model.Activity;
import com.yetanalytics.xapi.model.LangTag;
diff --git a/src/test/java/com/yetanalytics/xapi/util/ValidationUtils.java b/src/test/java/com/yetanalytics/xapi/util/ValidationUtils.java
index f712014..c3621f5 100644
--- a/src/test/java/com/yetanalytics/xapi/util/ValidationUtils.java
+++ b/src/test/java/com/yetanalytics/xapi/util/ValidationUtils.java
@@ -1,7 +1,7 @@
package com.yetanalytics.xapi.util;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import jakarta.validation.Validation;
import jakarta.validation.Validator;