Skip to content

Commit 204f5a9

Browse files
author
Grace Calianese
committed
Added RecordFieldType class to reference the name, date, and address final Strings
1 parent 85b3724 commit 204f5a9

5 files changed

Lines changed: 42 additions & 24 deletions

File tree

examples/src/main/java/com/basistech/rosette/examples/RecordSimilarityExample.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.basistech.rosette.apimodel.recordsimilarity.records.AddressField;
2525
import com.basistech.rosette.apimodel.recordsimilarity.records.DateField;
2626
import com.basistech.rosette.apimodel.recordsimilarity.records.NameField;
27+
import com.basistech.rosette.apimodel.recordsimilarity.records.RecordFieldType;
2728
import com.basistech.util.ISO15924;
2829
import com.basistech.util.LanguageCode;
2930

@@ -38,9 +39,6 @@
3839
*/
3940
@SuppressWarnings({"java:S1166", "java:S2221", "java:S106"})
4041
public class RecordSimilarityExample extends ExampleBase {
41-
private static final String DATE = "rni_date";
42-
private static final String ADDRESS = "rni_address";
43-
private static final String NAME = "rni_name";
4442
public static void main(String[] args) {
4543
try {
4644
new RecordSimilarityExample().run();
@@ -58,10 +56,10 @@ private void run() throws IOException {
5856
String dobHyphen = "1993-04-16";
5957
RecordSimilarityRequest request = RecordSimilarityRequest.builder()
6058
.fields(Map.of(
61-
primaryNameField, RecordSimilarityFieldInfo.builder().type(NAME).weight(0.5).build(),
62-
dobField, RecordSimilarityFieldInfo.builder().type(DATE).weight(0.2).build(),
63-
dob2Field, RecordSimilarityFieldInfo.builder().type(DATE).weight(0.1).build(),
64-
addrField, RecordSimilarityFieldInfo.builder().type(ADDRESS).weight(0.5).build()))
59+
primaryNameField, RecordSimilarityFieldInfo.builder().type(RecordFieldType.RNI_NAME).weight(0.5).build(),
60+
dobField, RecordSimilarityFieldInfo.builder().type(RecordFieldType.RNI_DATE).weight(0.2).build(),
61+
dob2Field, RecordSimilarityFieldInfo.builder().type(RecordFieldType.RNI_DATE).weight(0.1).build(),
62+
addrField, RecordSimilarityFieldInfo.builder().type(RecordFieldType.RNI_ADDRESS).weight(0.5).build()))
6563
.properties(RecordSimilarityProperties.builder().threshold(0.7).includeExplainInfo(true).build())
6664
.records(RecordSimilarityRecords.builder()
6765
.left(

json/src/main/java/com/basistech/rosette/apimodel/jackson/recordsimilaritydeserializers/RecordSimilarityDeserializerUtilities.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,11 @@
3434
import com.basistech.rosette.apimodel.recordsimilarity.records.AddressField;
3535
import com.basistech.rosette.apimodel.recordsimilarity.records.DateField;
3636
import com.basistech.rosette.apimodel.recordsimilarity.records.NameField;
37+
import com.basistech.rosette.apimodel.recordsimilarity.records.RecordFieldType;
3738
import com.basistech.rosette.apimodel.recordsimilarity.records.RecordSimilarityField;
3839
import com.basistech.rosette.apimodel.recordsimilarity.records.UnknownField;
3940

4041
final class RecordSimilarityDeserializerUtilities {
41-
private static final String DATE = "rni_date";
42-
private static final String NAME = "rni_name";
43-
private static final String ADDRESS = "rni_address";
44-
4542

4643
private RecordSimilarityDeserializerUtilities() {
4744
}
@@ -93,13 +90,13 @@ static Map<String, RecordSimilarityField> parseRecord(
9390
throw new IllegalArgumentException("Unspecified field type for: " + fieldName);
9491
}
9592
switch (fieldInfo.getType()) {
96-
case DATE:
93+
case RecordFieldType.RNI_DATE:
9794
fieldData = fieldValue.traverse(jsonParser.getCodec()).readValueAs(DateField.class);
9895
break;
99-
case NAME:
96+
case RecordFieldType.RNI_NAME:
10097
fieldData = fieldValue.traverse(jsonParser.getCodec()).readValueAs(NameField.class);
10198
break;
102-
case ADDRESS:
99+
case RecordFieldType.RNI_ADDRESS:
103100
fieldData = fieldValue.traverse(jsonParser.getCodec()).readValueAs(AddressField.class);
104101
break;
105102
default:

json/src/test/java/com/basistech/rosette/apimodel/RecordSimilarityRequestTest.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.basistech.rosette.apimodel.recordsimilarity.records.AddressField;
2525
import com.basistech.rosette.apimodel.recordsimilarity.records.DateField;
2626
import com.basistech.rosette.apimodel.recordsimilarity.records.NameField;
27+
import com.basistech.rosette.apimodel.recordsimilarity.records.RecordFieldType;
2728
import com.basistech.util.ISO15924;
2829
import com.basistech.util.LanguageCode;
2930
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -38,19 +39,16 @@
3839
import static org.junit.jupiter.api.Assertions.assertEquals;
3940

4041
class RecordSimilarityRequestTest {
41-
private static final String DATE = "rni_date";
42-
private static final String NAME = "rni_name";
43-
private static final String ADDRESS = "rni_address";
4442

4543
private static final ObjectMapper MAPPER = ApiModelMixinModule.setupObjectMapper(new ObjectMapper());
4644

4745
private static final String EXPECTED_JSON = "{\"fields\":{\"dob2\":{\"type\":\"rni_date\",\"weight\":0.1},\"primaryName\":{\"type\":\"rni_name\",\"weight\":0.5},\"dob\":{\"type\":\"rni_date\",\"weight\":0.2},\"addr\":{\"type\":\"rni_address\",\"weight\":0.5}},\"properties\":{\"threshold\":0.7,\"includeExplainInfo\":true},\"records\":{\"left\":[{\"dob2\":{\"date\":\"1993/04/16\"},\"primaryName\":{\"text\":\"Ethan R\",\"entityType\":\"PERSON\",\"language\":\"eng\",\"languageOfOrigin\":\"eng\",\"script\":\"Latn\"},\"dob\":\"1993-04-16\",\"addr\":\"123 Roadlane Ave\"},{\"primaryName\":{\"text\":\"Evan R\"},\"dob\":{\"date\":\"1993-04-16\"}}],\"right\":[{\"primaryName\":{\"text\":\"Seth R\",\"language\":\"eng\"},\"dob\":{\"date\":\"1993-04-16\"}},{\"dob2\":{\"date\":\"1993/04/16\"},\"primaryName\":\"Ivan R\",\"dob\":{\"date\":\"1993-04-16\"},\"addr\":{\"address\":\"123 Roadlane Ave\"}}]}}";
4846
private static final RecordSimilarityRequest EXPECTED_REQUEST = RecordSimilarityRequest.builder()
4947
.fields(Map.of(
50-
"primaryName", RecordSimilarityFieldInfo.builder().type(NAME).weight(0.5).build(),
51-
"dob", RecordSimilarityFieldInfo.builder().type(DATE).weight(0.2).build(),
52-
"dob2", RecordSimilarityFieldInfo.builder().type(DATE).weight(0.1).build(),
53-
"addr", RecordSimilarityFieldInfo.builder().type(ADDRESS).weight(0.5).build()))
48+
"primaryName", RecordSimilarityFieldInfo.builder().type(RecordFieldType.RNI_NAME).weight(0.5).build(),
49+
"dob", RecordSimilarityFieldInfo.builder().type(RecordFieldType.RNI_DATE).weight(0.2).build(),
50+
"dob2", RecordSimilarityFieldInfo.builder().type(RecordFieldType.RNI_DATE).weight(0.1).build(),
51+
"addr", RecordSimilarityFieldInfo.builder().type(RecordFieldType.RNI_DATE).weight(0.5).build()))
5452
.properties(RecordSimilarityProperties.builder().threshold(0.7).includeExplainInfo(true).build())
5553
.records(RecordSimilarityRecords.builder()
5654
.left(

json/src/test/java/com/basistech/rosette/apimodel/recordsimilarity/RecordSimilarityResponseTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ public class RecordSimilarityResponseTest {
4848
try {
4949
temp = RecordSimilarityResponse.builder()
5050
.fields(Map.of("primaryName", RecordSimilarityFieldInfo.builder()
51-
.type(RecordFieldType.NAME)
51+
.type(RecordFieldType.RNI_NAME)
5252
.weight(0.5)
5353
.build(),
5454
"dob", RecordSimilarityFieldInfo.builder()
55-
.type(RecordFieldType.DATE)
55+
.type(RecordFieldType.RNI_DATE)
5656
.weight(0.2)
5757
.build(),
5858
"addr", RecordSimilarityFieldInfo.builder()
59-
.type(RecordFieldType.ADDRESS)
59+
.type(RecordFieldType.RNI_ADDRESS)
6060
.weight(0.3)
6161
.build()))
6262
.results(List.of(RecordSimilarityResult.builder()
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright 2024 Basis Technology Corp.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.basistech.rosette.apimodel.recordsimilarity.records;
18+
19+
public final class RecordFieldType {
20+
public static final String RNI_NAME = "rni_name";
21+
public static final String RNI_DATE = "rni_date";
22+
public static final String RNI_ADDRESS = "rni_address";
23+
24+
private RecordFieldType() { }
25+
}

0 commit comments

Comments
 (0)