Skip to content

Commit e8ca214

Browse files
committed
move packages and use java8 compliant syntax
1 parent 60de10b commit e8ca214

File tree

5 files changed

+18
-14
lines changed

5 files changed

+18
-14
lines changed

slack-api-model/src/main/java/com/slack/api/model/annotation/Required.java renamed to slack-api-model/src/main/java/com/slack/api/util/annotation/Required.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package com.slack.api.model.annotation;
1+
package com.slack.api.util.annotation;
22

3-
import com.slack.api.model.predicate.FieldPredicate;
4-
import com.slack.api.model.predicate.IsNotNullFieldPredicate;
3+
import com.slack.api.util.predicate.FieldPredicate;
4+
import com.slack.api.util.predicate.IsNotNullFieldPredicate;
55
import com.slack.api.util.json.RequiredPropertyDetectionAdapterFactory;
66

77
import java.lang.annotation.ElementType;

slack-api-model/src/main/java/com/slack/api/util/json/RequiredPropertyDetectionAdapterFactory.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
import com.google.gson.reflect.TypeToken;
88
import com.google.gson.stream.JsonReader;
99
import com.google.gson.stream.JsonWriter;
10-
import com.slack.api.model.predicate.FieldPredicate;
11-
import com.slack.api.model.annotation.Required;
10+
import com.slack.api.util.predicate.FieldPredicate;
11+
import com.slack.api.util.annotation.Required;
1212
import lombok.EqualsAndHashCode;
1313
import lombok.RequiredArgsConstructor;
1414

@@ -22,7 +22,7 @@
2222
/**
2323
* Adapter factory for processing objects annotated with {@link Required}. This annotation signals what properties
2424
* of a model object are required, and thus should be expected to be initialized on instantiated instances. For all
25-
* fields on the model objected annotated with {@link Required} applies the {@link FieldPredicate#test(Object)} via the
25+
* fields on the model objected annotated with {@link Required} applies the {@link FieldPredicate#validate(Object)} via the
2626
* specified {@link Required#validator()}.
2727
* <p>
2828
* Note that this adapter handles both deserialization (JSON --> POJO) and serialization (POJO --> JSON).

slack-api-model/src/main/java/com/slack/api/model/predicate/FieldPredicate.java renamed to slack-api-model/src/main/java/com/slack/api/util/predicate/FieldPredicate.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
package com.slack.api.model.predicate;
1+
package com.slack.api.util.predicate;
22

33
/**
44
* A functional interface for defining validation predicates against {@link java.lang.reflect.Field}. Used by
5-
* {@link com.slack.api.model.annotation.Required} during object serialization and deserialization to ensure the
5+
* {@link com.slack.api.util.annotation.Required} during object serialization and deserialization to ensure the
66
* field member is "valid" per the defined predicate.
77
*/
88
@FunctionalInterface

slack-api-model/src/main/java/com/slack/api/model/predicate/IsNotNullFieldPredicate.java renamed to slack-api-model/src/main/java/com/slack/api/util/predicate/IsNotNullFieldPredicate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.slack.api.model.predicate;
1+
package com.slack.api.util.predicate;
22

33
import java.util.Objects;
44

slack-api-model/src/test/java/test_locally/util/JSONUtilityTest.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package test_locally.util;
22

33
import com.google.gson.*;
4-
import com.slack.api.model.predicate.FieldPredicate;
54
import com.slack.api.model.block.ContextBlockElement;
65
import com.slack.api.model.block.DividerBlock;
76
import com.slack.api.model.block.LayoutBlock;
@@ -12,14 +11,16 @@
1211
import com.slack.api.model.block.element.ImageElement;
1312
import com.slack.api.model.block.element.OverflowMenuElement;
1413
import com.slack.api.model.event.FunctionExecutedEvent;
15-
import com.slack.api.model.annotation.Required;
14+
import com.slack.api.util.annotation.Required;
1615
import com.slack.api.util.json.*;
16+
import com.slack.api.util.predicate.FieldPredicate;
1717
import lombok.Builder;
1818
import lombok.Data;
1919
import org.junit.Test;
2020
import test_locally.unit.GsonFactory;
2121

2222
import java.lang.reflect.Type;
23+
import java.util.ArrayList;
2324
import java.util.Arrays;
2425
import java.util.Collection;
2526
import java.util.List;
@@ -202,7 +203,7 @@ public void testRequiredPropertyDetectionAdapterFactory_basicCase_happyPath() {
202203
@Test
203204
public void testRequiredPropertyDetectionAdapterFactory_advancedCase_failureCases() {
204205
Gson gson = GsonFactory.createSnakeCaseWithRequiredPropertyDetection();
205-
206+
List<String> users = new ArrayList<>();
206207
// Serialization
207208
JsonParseException e = assertThrows(JsonParseException.class, () -> gson.toJson(TestClassWithRequiredAdvanced.builder().build()));
208209
assertThat(e.getMessage(), equalToIgnoringCase("Required field 'id' failed validation in TestClassWithRequiredAdvanced using predicate IntegerGreaterThanZero"));
@@ -216,7 +217,8 @@ public void testRequiredPropertyDetectionAdapterFactory_advancedCase_failureCase
216217
e = assertThrows(JsonParseException.class, () -> gson.toJson(TestClassWithRequiredAdvanced.builder().id(1).name("Hello").build()));
217218
assertThat(e.getMessage(), equalToIgnoringCase("Required field 'users' failed validation in TestClassWithRequiredAdvanced using predicate NonEmptyCollection"));
218219

219-
e = assertThrows(JsonParseException.class, () -> gson.toJson(TestClassWithRequiredAdvanced.builder().id(1).name("Hello").users(List.of("user1")).build()));
220+
users.add("user1");
221+
e = assertThrows(JsonParseException.class, () -> gson.toJson(TestClassWithRequiredAdvanced.builder().id(1).name("Hello").users(users).build()));
220222
assertThat(e.getMessage(), equalToIgnoringCase("Required field 'myBool' failed validation in TestClassWithRequiredAdvanced using predicate isNotNullFieldPredicate"));
221223

222224
// Deserialization
@@ -239,10 +241,12 @@ public void testRequiredPropertyDetectionAdapterFactory_advancedCase_failureCase
239241
@Test
240242
public void testRequiredPropertyDetectionAdapterFactory_advancedCase_happyPath() {
241243
Gson gson = GsonFactory.createSnakeCaseWithRequiredPropertyDetection();
244+
List<String> users = new ArrayList<>();
245+
users.add("testUser");
242246
TestClassWithRequiredAdvanced instance = TestClassWithRequiredAdvanced.builder()
243247
.id(1)
244248
.name("test")
245-
.users(List.of("testUser"))
249+
.users(users)
246250
.myBool(true)
247251
.build();
248252

0 commit comments

Comments
 (0)