From 1925c9eec71e98ed35c23c3e0c59d24a3c0e5049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 09:45:54 +0000 Subject: [PATCH 01/21] test --- .../java/dev/learning/xapi/client/ActivityProfileRequest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java index bde98504..ec1c325f 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java @@ -41,6 +41,8 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public abstract static class Builder> { + private URI activityId; + /** * Sets the activityId. * From a482877fad713b58392d7a6ff82befef040b6d60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 09:54:27 +0000 Subject: [PATCH 02/21] sss --- .../java/dev/learning/xapi/client/ActivityProfileRequest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java index ec1c325f..4d047113 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java @@ -41,6 +41,7 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public abstract static class Builder> { + @NonNull private URI activityId; /** From 4eb4174a65dc67d24d26f48f82bb4a6aad7844ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 10:56:00 +0000 Subject: [PATCH 03/21] sss --- .../xapi/client/GetMoreStatementsRequest.java | 32 +++++++++++++++++ .../xapi/client/GetStatementRequest.java | 3 ++ .../client/GetVoidedStatementRequest.java | 36 +++++++++++++++++++ 3 files changed, 71 insertions(+) diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java index 5e205605..a1453318 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java @@ -21,6 +21,7 @@ * Statements * * @author Thomas Turrell-Croft + * @author István Rátkai (Selindek) */ @Builder @Getter @@ -46,6 +47,37 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public static class Builder { + @NonNull + private URI more; + + /** + * Sets the more token. + * + * @param more The more token of the GetMoreStatementsRequest. + * @return This builder + */ + public Builder more(String more) { + + this.more = URI.create(more); + + return this; + + } + + /** + * Sets the more token. + * + * @param more The more token of the GetMoreStatementsRequest. + * @return This builder + */ + public Builder more(URI more) { + + this.more = more; + + return this; + + } + // This static class extends the lombok builder. } diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java index 0a284073..31e97931 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java @@ -57,6 +57,9 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public abstract static class Builder> { + @NonNull + private UUID id; + /** * Sets the id. * diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetVoidedStatementRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetVoidedStatementRequest.java index 13bbd9aa..02da7bdf 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetVoidedStatementRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetVoidedStatementRequest.java @@ -6,6 +6,7 @@ import java.util.Map; import java.util.Optional; +import java.util.UUID; import lombok.Getter; import lombok.experimental.SuperBuilder; import org.springframework.web.util.UriBuilder; @@ -18,6 +19,7 @@ * Statements * * @author Thomas Turrell-Croft + * @author István Rátkai (Selindek) */ @SuperBuilder @Getter @@ -37,4 +39,38 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { } + /** + * Builder for GetVoidedStatementRequest. + */ + public abstract static class Builder> + extends GetStatementRequest.Builder { + + /** + * Sets the voidedId. + * + * @param voidedId The voidedId of the GetVoidedStatementRequest. + * @return This builder + * @see GetVoidedStatementRequest#voidedId + */ + public Builder voidedId(UUID voidedId) { + id(voidedId); + return self(); + } + + /** + * Sets the voidedId. + * + * @param voidedId The voidedId of the GetVoidedStatementRequest. + * @return This builder + * @see GetVoidedStatementRequest#voidedId + */ + public Builder voidedId(String voidedId) { + id(voidedId); + return self(); + } + + // This static class extends the lombok builder. + + } + } From 5b67e4deebb0f0dfa7db6ab503c4270b21ed3cd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 11:01:18 +0000 Subject: [PATCH 04/21] sss --- .../test/java/dev/learning/xapi/client/XapiClientTests.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java index 2945f5a9..0b28290c 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java @@ -342,7 +342,7 @@ void whenGettingVoidedStatementThenMethodIsGet() throws InterruptedException { mockWebServer.enqueue(new MockResponse().setStatus("HTTP/1.1 200 OK")); // When Getting Voided Statement - client.getVoidedStatement(r -> r.id(UUID.fromString("4df42866-40e7-45b6-bf7c-8d5fccbdccd6"))) + client.getVoidedStatement(r -> r.voidedId(UUID.fromString("4df42866-40e7-45b6-bf7c-8d5fccbdccd6"))) .block(); RecordedRequest recordedRequest = mockWebServer.takeRequest(); @@ -357,7 +357,7 @@ void whenGettingVoidedStatementThenPathIsExpected() throws InterruptedException mockWebServer.enqueue(new MockResponse().setStatus("HTTP/1.1 200 OK")); // When Getting Voided Statement - client.getVoidedStatement(r -> r.id("4df42866-40e7-45b6-bf7c-8d5fccbdccd6")).block(); + client.getVoidedStatement(r -> r.voidedId("4df42866-40e7-45b6-bf7c-8d5fccbdccd6")).block(); RecordedRequest recordedRequest = mockWebServer.takeRequest(); From 78a4fdfefbb33d18d8401957f56577b486be501f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 11:08:53 +0000 Subject: [PATCH 05/21] sss --- .../client/GetMoreStatementsRequestTests.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/GetMoreStatementsRequestTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/GetMoreStatementsRequestTests.java index 39cdb842..f80a1d59 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/GetMoreStatementsRequestTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/GetMoreStatementsRequestTests.java @@ -13,14 +13,15 @@ * GetMoreStatementsRequest Tests. * * @author Thomas Turrell-Croft + * @author István Rátkai (Selindek) */ @DisplayName("GetMoreStatementsRequest Tests") class GetMoreStatementsRequestTests { @Test - void whenBuildingGetMoreStatementsRequestWithAllParametersThenNoExceptionIsThrown() { + void whenBuildingGetMoreStatementsRequestWithUriParameterThenNoExceptionIsThrown() { - // When Building GetMoreStatementsRequest With All Parameters + // When Building GetMoreStatementsRequest With Uri Parameter GetMoreStatementsRequest.Builder builder = GetMoreStatementsRequest.builder() .more( @@ -30,6 +31,19 @@ void whenBuildingGetMoreStatementsRequestWithAllParametersThenNoExceptionIsThrow assertDoesNotThrow(() -> builder.build()); } + + @Test + void whenBuildingGetMoreStatementsRequestWithStringParameterThenNoExceptionIsThrown() { + + // When Building GetMoreStatementsRequest With String Parameter + GetMoreStatementsRequest.Builder builder = GetMoreStatementsRequest.builder() + + .more("https://example.com/xapi/statements/869cc589-76fa-4283-8e96-eea86f9124e1"); + + // Then No Exception Is Thrown + assertDoesNotThrow(() -> builder.build()); + + } @Test void whenBuildingGetMoreStatementsRequestWithoutMoreThenNullPointerExceptionIsThrown() { From 3fe3a6208340090a710b8aff022e0d192ee21561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 11:12:50 +0000 Subject: [PATCH 06/21] sss --- .../src/main/java/dev/learning/xapi/model/Account.java | 6 ++++++ xapi-model/src/main/java/dev/learning/xapi/model/Actor.java | 3 +++ 2 files changed, 9 insertions(+) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Account.java b/xapi-model/src/main/java/dev/learning/xapi/model/Account.java index 4ea74e49..05ebfec4 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Account.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Account.java @@ -45,6 +45,12 @@ public class Account { */ public static class Builder { + @NotNull + private URI homePage; + + @NotBlank + private String name; + // This static class extends the lombok builder. } diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java index a6c86dbd..fca09384 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java @@ -74,6 +74,9 @@ public abstract class Actor implements StatementObject, SubStatementObject { */ public abstract static class Builder> { + @Valid + Account account; + /** * Consumer Builder for account. * From 22b4cf88d16dee3eb0d11978047e3a72a3da52b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 11:30:50 +0000 Subject: [PATCH 07/21] sss --- .../xapi/client/GetActivityRequest.java | 36 +++++++++++++++++++ .../learning/xapi/client/XapiClientTests.java | 20 +++++++++-- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java index 2cfd552b..6ce42ea3 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java @@ -47,6 +47,42 @@ public HttpMethod getMethod() { */ public static class Builder { + @NonNull + private URI activityId; + + /** + * Sets the activityId. + * + * @param activityId The activityId of the GetActivityRequest. + * + * @return This builder + * + * @see GetActivityRequest#activityId + */ + public Builder activityId(String activityId) { + + this.activityId = URI.create(activityId); + + return this; + + } + + /** + * Sets the activityId. + * + * @param activityId The activityId of the GetActivityRequest. + * + * @return This builder + * + * @see GetActivityRequest#activityId + */ + public Builder activityId(URI activityId) { + + this.activityId = activityId; + + return this; + + } } } diff --git a/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java b/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java index 0b28290c..0c024945 100644 --- a/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java +++ b/xapi-client/src/test/java/dev/learning/xapi/client/XapiClientTests.java @@ -1664,11 +1664,11 @@ void whenGettingProfilesWithSinceParameterThenPathIsExpected() throws Interrupte // Get Activity @Test - void whenGettingActivityThenMethodIsGet() throws InterruptedException { + void whenGettingActivityByUriThenMethodIsGet() throws InterruptedException { mockWebServer.enqueue(new MockResponse().setStatus("HTTP/1.1 200 OK")); - // When Getting Activity + // When Getting Activity By Uri client .getActivity(r -> r.activityId(URI.create("https://example.com/activity/simplestatement"))) .block(); @@ -1679,6 +1679,22 @@ void whenGettingActivityThenMethodIsGet() throws InterruptedException { assertThat(recordedRequest.getMethod(), is("GET")); } + @Test + void whenGettingActivityByStringThenMethodIsGet() throws InterruptedException { + + mockWebServer.enqueue(new MockResponse().setStatus("HTTP/1.1 200 OK")); + + // When Getting Activity By String + client + .getActivity(r -> r.activityId("https://example.com/activity/simplestatement")) + .block(); + + RecordedRequest recordedRequest = mockWebServer.takeRequest(); + + // Then Method Is Get + assertThat(recordedRequest.getMethod(), is("GET")); + } + @Test void whenGettingActivityThenPathIsExpected() throws InterruptedException { From 8b2bec58496bdb00278cfe88fe44b359278e1adf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 12:01:33 +0000 Subject: [PATCH 08/21] group fix ??? --- .../src/main/java/dev/learning/xapi/model/Group.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java index 6e9f1d25..77f86c37 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java @@ -14,9 +14,9 @@ import java.util.List; import java.util.function.Consumer; import lombok.AllArgsConstructor; -import lombok.Builder.Default; import lombok.EqualsAndHashCode; import lombok.Getter; +import lombok.NonNull; import lombok.ToString; import lombok.experimental.SuperBuilder; @@ -37,8 +37,7 @@ @JsonSubTypes({@JsonSubTypes.Type(value = Group.class, name = "Group")}) public class Group extends Actor { - @Default - private final ObjectType objectType = ObjectType.GROUP; + private ObjectType objectType; /** * The members of this Group. @@ -57,6 +56,13 @@ public abstract static class Builder> // This static class extends the lombok builder. + private ObjectType objectType = ObjectType.GROUP; + + @NonNull + private Builder objectType(ObjectType objectType) { + return self(); + } + /** * Consumer Builder for member. * From e8e35d7f273822a81d7abf8ac1081b68d60ddd4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 12:04:29 +0000 Subject: [PATCH 09/21] group 2 --- xapi-model/src/main/java/dev/learning/xapi/model/Group.java | 1 + 1 file changed, 1 insertion(+) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java index 77f86c37..3a3406c7 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java @@ -56,6 +56,7 @@ public abstract static class Builder> // This static class extends the lombok builder. + @NonNull private ObjectType objectType = ObjectType.GROUP; @NonNull From 6557e73f349fa71a148dd00eda71a86b2d7314fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 14:10:12 +0000 Subject: [PATCH 10/21] more fix --- .../java/dev/learning/xapi/model/Score.java | 4 ++ .../dev/learning/xapi/model/Statement.java | 3 ++ .../xapi/model/StatementReference.java | 3 ++ .../dev/learning/xapi/model/AgentTests.java | 37 ++++---------- .../learning/xapi/model/LanguageMapTests.java | 48 ++++--------------- 5 files changed, 28 insertions(+), 67 deletions(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java index e6021838..246298dd 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java @@ -55,6 +55,10 @@ public class Score { */ public static class Builder { + @DecimalMax(value = "1.0") + @DecimalMin(value = "-1.0") + private Float scaled; + // This static class extends the lombok builder. } diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java b/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java index f72ba191..b2b19e38 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java @@ -103,6 +103,9 @@ public static class Builder { // This static class extends the lombok builder. + @NotNull + private Actor actor; + /** * Consumer Builder for agent. * diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java b/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java index 551c1841..e842a800 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java @@ -44,6 +44,9 @@ public static class Builder { // This static class extends the lombok builder. + @NotNull + private UUID id; + } diff --git a/xapi-model/src/test/java/dev/learning/xapi/model/AgentTests.java b/xapi-model/src/test/java/dev/learning/xapi/model/AgentTests.java index 43ebfd86..e199d272 100644 --- a/xapi-model/src/test/java/dev/learning/xapi/model/AgentTests.java +++ b/xapi-model/src/test/java/dev/learning/xapi/model/AgentTests.java @@ -14,6 +14,8 @@ import java.net.URI; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import org.springframework.util.ResourceUtils; /** @@ -28,10 +30,13 @@ class AgentTests { private final ObjectMapper objectMapper = new ObjectMapper().findAndRegisterModules(); - @Test - void whenDeserializingAgentThenResultIsInstanceOfAgent() throws IOException { + @ParameterizedTest + @ValueSource(strings = {"classpath:agent/agent.json", + "classpath:agent/agent_without_object_type.json", + "classpath:agent/agent_with_object_type.json"}) + void whenDeserializingAgentThenResultIsInstanceOfAgent(String fileName) throws IOException { - final File file = ResourceUtils.getFile("classpath:agent/agent.json"); + final File file = ResourceUtils.getFile(fileName); // When Deserializing Agent final Agent result = objectMapper.readValue(file, Agent.class); @@ -41,32 +46,6 @@ void whenDeserializingAgentThenResultIsInstanceOfAgent() throws IOException { } - @Test - void whenDeserializingAgentWithoutObjectTypeThenResultIsInstanceOfAgent() throws IOException { - - final File file = ResourceUtils.getFile("classpath:agent/agent_without_object_type.json"); - - // When Deserializing Agent Without Object Type - final Agent result = objectMapper.readValue(file, Agent.class); - - // Then Result Is Instance Of Agent - assertThat(result, instanceOf(Agent.class)); - - } - - @Test - void whenDeserializingAgentWithObjectTypeThenResultIsInstanceOfAgent() throws IOException { - - final File file = ResourceUtils.getFile("classpath:agent/agent_with_object_type.json"); - - // When Deserializing Agent Without Object Type - final Agent result = objectMapper.readValue(file, Agent.class); - - // Then Result Is Instance Of Agent - assertThat(result, instanceOf(Agent.class)); - - } - @Test void whenDeserializingAgentWithNameThenNameIsExpected() throws IOException { diff --git a/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java b/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java index 315c0751..7faebb84 100644 --- a/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java +++ b/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java @@ -13,6 +13,8 @@ import java.util.Map; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; /** * LanguageMap Tests. @@ -20,8 +22,12 @@ @DisplayName("LanguageMap tests") class LanguageMapTests { - @Test - void givenUkandUSKeyWhenGettingUKValueThenValueIsUK() throws Exception { + @ParameterizedTest + @CsvSource({ + "en-GB, Colour", + "en-US, Color", + "de, Colour"}) + void givenUkandUSKeyWhenGettingLocaleValueThenValueIsExpected(String locale, String expected) throws Exception { final LanguageMap languageMap = new LanguageMap(); @@ -30,27 +36,10 @@ void givenUkandUSKeyWhenGettingUKValueThenValueIsUK() throws Exception { languageMap.put(Locale.US, "Color"); // When Getting UK Value - final String value = languageMap.get(LanguageRange.parse("en-GB")); + final String value = languageMap.get(LanguageRange.parse(locale)); // Then Value Is UK - assertThat(value, is("Colour")); - - } - - @Test - void givenUkandUsKeyWhenGettingUsValueThenValueIsUs() throws Exception { - - final LanguageMap languageMap = new LanguageMap(); - - // Given UK and US Key - languageMap.put(Locale.UK, "Colour"); - languageMap.put(Locale.US, "Color"); - - // When Getting US Value - final String value = languageMap.get(LanguageRange.parse("en-US")); - - // Then Value Is US - assertThat(value, is("Color")); + assertThat(value, is(expected)); } @@ -106,23 +95,6 @@ void givenFrenchAndUsKeyWhenGettingCanadaFrenchValueThenValueIsFrench() throws E } - @Test - void givenUkandUsKeyWhenGettingGermanValueThenValueIsFirstEntry() throws Exception { - - final LanguageMap languageMap = new LanguageMap(); - - // Given UK and US Key - languageMap.put(Locale.UK, "Colour"); - languageMap.put(Locale.US, "Color"); - - // When Getting German Value - final String value = languageMap.get(LanguageRange.parse("de")); - - // Then Value Is First Entry - assertThat(value, is("Colour")); - - } - @Test void givenMapIsEmptyWhenGettingGermanValueThenValueIsNull() throws Exception { From 5abd57b4a2ea59e6665c4f404f921a788ccfd0e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 15:04:01 +0000 Subject: [PATCH 11/21] group 3 --- xapi-model/src/main/java/dev/learning/xapi/model/Group.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java index 3a3406c7..d152e3bc 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java @@ -16,7 +16,6 @@ import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.NonNull; import lombok.ToString; import lombok.experimental.SuperBuilder; @@ -56,11 +55,9 @@ public abstract static class Builder> // This static class extends the lombok builder. - @NonNull private ObjectType objectType = ObjectType.GROUP; - @NonNull - private Builder objectType(ObjectType objectType) { + protected Builder objectType(ObjectType objectType) { return self(); } From bc8fe481ab4c7a37d9a93f2a6fa7fea6618afcc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 15:07:09 +0000 Subject: [PATCH 12/21] group 3 --- xapi-model/src/main/java/dev/learning/xapi/model/Group.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java index d152e3bc..b27b0765 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java @@ -55,7 +55,7 @@ public abstract static class Builder> // This static class extends the lombok builder. - private ObjectType objectType = ObjectType.GROUP; + protected ObjectType objectType = ObjectType.GROUP; protected Builder objectType(ObjectType objectType) { return self(); From 7cc5b4747cd42ea3485c68d5215435006352ac8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 15:16:56 +0000 Subject: [PATCH 13/21] score --- .../java/dev/learning/xapi/model/Group.java | 1 + .../java/dev/learning/xapi/model/Score.java | 17 +++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java index b27b0765..d2b01f42 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java @@ -58,6 +58,7 @@ public abstract static class Builder> protected ObjectType objectType = ObjectType.GROUP; protected Builder objectType(ObjectType objectType) { + this.objectType = objectType; return self(); } diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java index 246298dd..359d7574 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java @@ -4,10 +4,10 @@ package dev.learning.xapi.model; +import org.springframework.util.Assert; + import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import jakarta.validation.constraints.DecimalMax; -import jakarta.validation.constraints.DecimalMin; import lombok.Builder; import lombok.Value; @@ -24,12 +24,9 @@ @JsonInclude(Include.NON_EMPTY) public class Score { - // TODO check that @DecimalMax and @DecimalMin apply to float /** * The score related to the experience as modified by scaling and/or normalization. */ - @DecimalMax(value = "1.0") - @DecimalMin(value = "-1.0") private Float scaled; /** @@ -55,9 +52,13 @@ public class Score { */ public static class Builder { - @DecimalMax(value = "1.0") - @DecimalMin(value = "-1.0") - private Float scaled; + protected Float scaled; + + public Builder scaled(Float scaled) { + Assert.isTrue(scaled == null || (scaled>=-1.0 && scaled <=1.0) , "Scaled score vaule must be between -1.0 and 1.0"); + this.scaled = scaled; + return this; + } // This static class extends the lombok builder. From c806c519877f3409418088ff662b61a0c8b49b64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 15:21:06 +0000 Subject: [PATCH 14/21] csi --- xapi-model/src/main/java/dev/learning/xapi/model/Score.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java index 359d7574..40fe962b 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java @@ -55,7 +55,7 @@ public static class Builder { protected Float scaled; public Builder scaled(Float scaled) { - Assert.isTrue(scaled == null || (scaled>=-1.0 && scaled <=1.0) , "Scaled score vaule must be between -1.0 and 1.0"); + Assert.isTrue(scaled == null || (scaled >= -1.0 && scaled <= 1.0) , "Scaled score vaule must be between -1.0 and 1.0"); this.scaled = scaled; return this; } From fd6ba1d4ba8a66de548118a385288f73257c1700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 15:22:43 +0000 Subject: [PATCH 15/21] csi --- xapi-model/src/main/java/dev/learning/xapi/model/Score.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java index 40fe962b..7c6adce7 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java @@ -4,12 +4,11 @@ package dev.learning.xapi.model; -import org.springframework.util.Assert; - import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import lombok.Builder; import lombok.Value; +import org.springframework.util.Assert; /** * This class represents the xAPI Score object. From 6c77dac8c7fbb2a82f50a0f18826fb1724e3d2c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Tue, 7 Mar 2023 15:25:41 +0000 Subject: [PATCH 16/21] csi --- .../src/main/java/dev/learning/xapi/model/Score.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java index 7c6adce7..267677df 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Score.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Score.java @@ -53,8 +53,16 @@ public static class Builder { protected Float scaled; + /** + * Sets the scaled score. + * + * @param scaled The scaled score. + * + * @return This builder + */ public Builder scaled(Float scaled) { - Assert.isTrue(scaled == null || (scaled >= -1.0 && scaled <= 1.0) , "Scaled score vaule must be between -1.0 and 1.0"); + Assert.isTrue(scaled == null || (scaled >= -1.0 && scaled <= 1.0), + "Scaled score vaule must be between -1.0 and 1.0"); this.scaled = scaled; return this; } From 38fee322fd809307d41c3ae762102741c7cf021e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Wed, 8 Mar 2023 11:03:24 +0000 Subject: [PATCH 17/21] sss --- .../dev/learning/xapi/client/ActivityProfileRequest.java | 3 --- .../java/dev/learning/xapi/client/GetActivityRequest.java | 4 +--- .../dev/learning/xapi/client/GetMoreStatementsRequest.java | 3 --- .../java/dev/learning/xapi/client/GetStatementRequest.java | 3 --- .../src/main/java/dev/learning/xapi/model/Account.java | 6 ------ xapi-model/src/main/java/dev/learning/xapi/model/Actor.java | 5 +---- .../src/main/java/dev/learning/xapi/model/Statement.java | 3 --- .../java/dev/learning/xapi/model/StatementReference.java | 3 --- 8 files changed, 2 insertions(+), 28 deletions(-) diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java index 4d047113..bde98504 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/ActivityProfileRequest.java @@ -41,9 +41,6 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public abstract static class Builder> { - @NonNull - private URI activityId; - /** * Sets the activityId. * diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java index 6ce42ea3..2d3239ea 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetActivityRequest.java @@ -20,6 +20,7 @@ * Activity Object GET * * @author Thomas Turrell-Croft + * @author István Rátkai (Selindek) */ @Getter @Builder @@ -47,9 +48,6 @@ public HttpMethod getMethod() { */ public static class Builder { - @NonNull - private URI activityId; - /** * Sets the activityId. * diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java index a1453318..5127c4a3 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetMoreStatementsRequest.java @@ -47,9 +47,6 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public static class Builder { - @NonNull - private URI more; - /** * Sets the more token. * diff --git a/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java b/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java index 31e97931..0a284073 100644 --- a/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java +++ b/xapi-client/src/main/java/dev/learning/xapi/client/GetStatementRequest.java @@ -57,9 +57,6 @@ public UriBuilder url(UriBuilder uriBuilder, Map queryParams) { */ public abstract static class Builder> { - @NonNull - private UUID id; - /** * Sets the id. * diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Account.java b/xapi-model/src/main/java/dev/learning/xapi/model/Account.java index 05ebfec4..4ea74e49 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Account.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Account.java @@ -45,12 +45,6 @@ public class Account { */ public static class Builder { - @NotNull - private URI homePage; - - @NotBlank - private String name; - // This static class extends the lombok builder. } diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java index fca09384..5d9c6343 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java @@ -33,7 +33,7 @@ @NoArgsConstructor @EqualsAndHashCode(exclude = "name") @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "objectType", visible = false, - defaultImpl = Agent.class, include = As.EXISTING_PROPERTY) + defaultImpl = Agent.class, include = As.PROPERTY) @JsonSubTypes({@JsonSubTypes.Type(value = Agent.class, name = "Agent"), @JsonSubTypes.Type(value = Agent.class, name = "Person"), @JsonSubTypes.Type(value = Group.class, name = "Group")}) @@ -74,9 +74,6 @@ public abstract class Actor implements StatementObject, SubStatementObject { */ public abstract static class Builder> { - @Valid - Account account; - /** * Consumer Builder for account. * diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java b/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java index b2b19e38..f72ba191 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Statement.java @@ -103,9 +103,6 @@ public static class Builder { // This static class extends the lombok builder. - @NotNull - private Actor actor; - /** * Consumer Builder for agent. * diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java b/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java index e842a800..551c1841 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/StatementReference.java @@ -44,9 +44,6 @@ public static class Builder { // This static class extends the lombok builder. - @NotNull - private UUID id; - } From ad0a5f52631e654e07b19bc87133909f1c587d1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Wed, 8 Mar 2023 11:04:14 +0000 Subject: [PATCH 18/21] sss --- xapi-model/src/main/java/dev/learning/xapi/model/Actor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java index 5d9c6343..a6c86dbd 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Actor.java @@ -33,7 +33,7 @@ @NoArgsConstructor @EqualsAndHashCode(exclude = "name") @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "objectType", visible = false, - defaultImpl = Agent.class, include = As.PROPERTY) + defaultImpl = Agent.class, include = As.EXISTING_PROPERTY) @JsonSubTypes({@JsonSubTypes.Type(value = Agent.class, name = "Agent"), @JsonSubTypes.Type(value = Agent.class, name = "Person"), @JsonSubTypes.Type(value = Group.class, name = "Group")}) From 5e55b389061b9b60075f95fcc633ea9438cdf29a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Wed, 8 Mar 2023 14:35:41 +0000 Subject: [PATCH 19/21] fix LanguageMapTests comments --- .../test/java/dev/learning/xapi/model/LanguageMapTests.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java b/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java index 7faebb84..ba0ec7bc 100644 --- a/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java +++ b/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java @@ -35,10 +35,10 @@ void givenUkandUSKeyWhenGettingLocaleValueThenValueIsExpected(String locale, Str languageMap.put(Locale.UK, "Colour"); languageMap.put(Locale.US, "Color"); - // When Getting UK Value + // When Getting Locale Value final String value = languageMap.get(LanguageRange.parse(locale)); - // Then Value Is UK + // Then Value Is Expected assertThat(value, is(expected)); } From 8cb53c8f7b284ff836c897541f83dbdb4ca79527 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20R=C3=A1tkai?= Date: Wed, 8 Mar 2023 16:25:51 +0000 Subject: [PATCH 20/21] sss --- .../src/main/java/dev/learning/xapi/model/Group.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java index d2b01f42..6e9f1d25 100644 --- a/xapi-model/src/main/java/dev/learning/xapi/model/Group.java +++ b/xapi-model/src/main/java/dev/learning/xapi/model/Group.java @@ -14,6 +14,7 @@ import java.util.List; import java.util.function.Consumer; import lombok.AllArgsConstructor; +import lombok.Builder.Default; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.ToString; @@ -36,7 +37,8 @@ @JsonSubTypes({@JsonSubTypes.Type(value = Group.class, name = "Group")}) public class Group extends Actor { - private ObjectType objectType; + @Default + private final ObjectType objectType = ObjectType.GROUP; /** * The members of this Group. @@ -55,13 +57,6 @@ public abstract static class Builder> // This static class extends the lombok builder. - protected ObjectType objectType = ObjectType.GROUP; - - protected Builder objectType(ObjectType objectType) { - this.objectType = objectType; - return self(); - } - /** * Consumer Builder for member. * From b6df5a57f41d31c04ef0192241e9e9185be452ae Mon Sep 17 00:00:00 2001 From: Thomas Turrell-Croft Date: Wed, 8 Mar 2023 17:14:18 +0000 Subject: [PATCH 21/21] Update xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java --- .../src/test/java/dev/learning/xapi/model/LanguageMapTests.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java b/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java index ba0ec7bc..2373e136 100644 --- a/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java +++ b/xapi-model/src/test/java/dev/learning/xapi/model/LanguageMapTests.java @@ -27,7 +27,7 @@ class LanguageMapTests { "en-GB, Colour", "en-US, Color", "de, Colour"}) - void givenUkandUSKeyWhenGettingLocaleValueThenValueIsExpected(String locale, String expected) throws Exception { + void givenUkAndUSKeyWhenGettingLocaleValueThenValueIsExpected(String locale, String expected) throws Exception { final LanguageMap languageMap = new LanguageMap();