Skip to content

Commit 5bc7bf2

Browse files
authored
Merge pull request #47 from folio-org/MODEUSCNT-15
MODEUSCNT-15
2 parents 0b7366e + 5da89cf commit 5bc7bf2

File tree

9 files changed

+103
-18
lines changed

9 files changed

+103
-18
lines changed

mod-erm-usage-counter50/src/main/java/org/olf/erm/usage/counter50/converter/dr/DRConverterBase.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import static java.util.stream.Collectors.reducing;
55
import static java.util.stream.Collectors.toList;
66

7+
import java.util.Arrays;
78
import java.util.List;
89
import java.util.Optional;
910
import java.util.function.Function;
@@ -18,7 +19,7 @@ public abstract class DRConverterBase implements Converter<COUNTERDatabaseReport
1819

1920
protected Function<COUNTERDatabaseUsage, List<Object>> getGroupByAttributes() {
2021
return u ->
21-
List.of(
22+
Arrays.asList(
2223
u.getDatabase(), u.getPlatform(), u.getItemID(), u.getPublisher(), u.getPublisherID());
2324
}
2425

mod-erm-usage-counter50/src/main/java/org/olf/erm/usage/counter50/converter/dr/DRD1Converter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class DRD1Converter extends DRConverterBase {
2828

2929
private static final Predicate<COUNTERDatabaseUsage> filter =
3030
u ->
31-
u.getAccessMethod().equals(AccessMethodEnum.REGULAR)
31+
AccessMethodEnum.REGULAR.equals(u.getAccessMethod())
3232
&& u.getPerformance().stream()
3333
.anyMatch(p -> p.getInstance().stream().anyMatch(hasMetricType));
3434

mod-erm-usage-counter50/src/main/java/org/olf/erm/usage/counter50/converter/tr/TRB1Converter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ public class TRB1Converter extends TRConverterBase {
2626

2727
private static final Predicate<COUNTERTitleUsage> filter =
2828
u ->
29-
u.getDataType().equals(DataTypeEnum.BOOK)
30-
&& u.getAccessMethod().equals(AccessMethodEnum.REGULAR)
31-
&& u.getAccessType().equals(AccessTypeEnum.CONTROLLED)
29+
DataTypeEnum.BOOK.equals(u.getDataType())
30+
&& AccessMethodEnum.REGULAR.equals(u.getAccessMethod())
31+
&& AccessTypeEnum.CONTROLLED.equals(u.getAccessType())
3232
&& u.getPerformance().stream()
3333
.anyMatch(p -> p.getInstance().stream().anyMatch(hasMetricType));
3434

mod-erm-usage-counter50/src/main/java/org/olf/erm/usage/counter50/converter/tr/TRB3Converter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ public class TRB3Converter extends TRConverterBase {
3131

3232
private static final Predicate<COUNTERTitleUsage> filter =
3333
u ->
34-
u.getDataType().equals(DataTypeEnum.BOOK)
35-
&& u.getAccessMethod().equals(AccessMethodEnum.REGULAR)
34+
DataTypeEnum.BOOK.equals(u.getDataType())
35+
&& AccessMethodEnum.REGULAR.equals(u.getAccessMethod())
3636
&& u.getPerformance().stream()
3737
.anyMatch(p -> p.getInstance().stream().anyMatch(hasMetricType));
3838

mod-erm-usage-counter50/src/main/java/org/olf/erm/usage/counter50/converter/tr/TRConverterBase.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import static java.util.stream.Collectors.reducing;
55
import static java.util.stream.Collectors.toList;
66

7+
import java.util.Arrays;
78
import java.util.List;
89
import java.util.Optional;
910
import java.util.function.Function;
@@ -18,7 +19,8 @@ public abstract class TRConverterBase implements Converter<COUNTERTitleReport> {
1819

1920
protected Function<COUNTERTitleUsage, List<Object>> getGroupByAttributes() {
2021
return u ->
21-
List.of(u.getTitle(), u.getItemID(), u.getPlatform(), u.getPublisher(), u.getPublisherID());
22+
Arrays.asList(
23+
u.getTitle(), u.getItemID(), u.getPlatform(), u.getPublisher(), u.getPublisherID());
2224
}
2325

2426
protected List<COUNTERTitleUsage> createNewReportItems(

mod-erm-usage-counter50/src/main/java/org/olf/erm/usage/counter50/converter/tr/TRJ1Converter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ public class TRJ1Converter extends TRConverterBase {
2626

2727
private static final Predicate<COUNTERTitleUsage> filter =
2828
u ->
29-
u.getDataType().equals(DataTypeEnum.JOURNAL)
30-
&& u.getAccessMethod().equals(AccessMethodEnum.REGULAR)
31-
&& u.getAccessType().equals(AccessTypeEnum.CONTROLLED)
29+
DataTypeEnum.JOURNAL.equals(u.getDataType())
30+
&& AccessMethodEnum.REGULAR.equals(u.getAccessMethod())
31+
&& AccessTypeEnum.CONTROLLED.equals(u.getAccessType())
3232
&& u.getPerformance().stream()
3333
.anyMatch(p -> p.getInstance().stream().anyMatch(hasMetricType));
3434

mod-erm-usage-counter50/src/main/java/org/olf/erm/usage/counter50/converter/tr/TRJ3Converter.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import static java.util.stream.Collectors.toList;
44

5+
import java.util.Arrays;
56
import java.util.List;
67
import java.util.Map;
78
import java.util.function.Function;
@@ -30,8 +31,8 @@ public class TRJ3Converter extends TRConverterBase {
3031

3132
private static final Predicate<COUNTERTitleUsage> filter =
3233
u ->
33-
u.getDataType().equals(DataTypeEnum.JOURNAL)
34-
&& u.getAccessMethod().equals(AccessMethodEnum.REGULAR)
34+
DataTypeEnum.JOURNAL.equals(u.getDataType())
35+
&& AccessMethodEnum.REGULAR.equals(u.getAccessMethod())
3536
&& u.getPerformance().stream()
3637
.anyMatch(p -> p.getInstance().stream().anyMatch(hasMetricType));
3738

@@ -63,7 +64,7 @@ public class TRJ3Converter extends TRConverterBase {
6364
@Override
6465
public Function<COUNTERTitleUsage, List<Object>> getGroupByAttributes() {
6566
return u ->
66-
List.of(
67+
Arrays.asList(
6768
u.getTitle(),
6869
u.getItemID(),
6970
u.getPlatform(),

mod-erm-usage-counter50/src/main/java/org/olf/erm/usage/counter50/converter/tr/TRJ4Converter.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import static java.util.stream.Collectors.toList;
44

5+
import java.util.Arrays;
56
import java.util.List;
67
import java.util.Map;
78
import java.util.function.Function;
@@ -27,9 +28,9 @@ public class TRJ4Converter extends TRConverterBase {
2728

2829
private static final Predicate<COUNTERTitleUsage> filter =
2930
u ->
30-
u.getDataType().equals(DataTypeEnum.JOURNAL)
31-
&& u.getAccessMethod().equals(AccessMethodEnum.REGULAR)
32-
&& u.getAccessType().equals(AccessTypeEnum.CONTROLLED)
31+
DataTypeEnum.JOURNAL.equals(u.getDataType())
32+
&& AccessMethodEnum.REGULAR.equals(u.getAccessMethod())
33+
&& AccessTypeEnum.CONTROLLED.equals(u.getAccessType())
3334
&& u.getPerformance().stream()
3435
.anyMatch(p -> p.getInstance().stream().anyMatch(hasMetricType));
3536

@@ -63,7 +64,7 @@ public class TRJ4Converter extends TRConverterBase {
6364
@Override
6465
public Function<COUNTERTitleUsage, List<Object>> getGroupByAttributes() {
6566
return u ->
66-
List.of(
67+
Arrays.asList(
6768
u.getTitle(),
6869
u.getItemID(),
6970
u.getPlatform(),
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
package org.olf.erm.usage.counter50.converter;
2+
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
import static org.assertj.core.api.Assertions.assertThatCode;
5+
6+
import com.google.common.io.Resources;
7+
import java.io.IOException;
8+
import java.nio.charset.StandardCharsets;
9+
import java.util.stream.Stream;
10+
import org.junit.Before;
11+
import org.junit.BeforeClass;
12+
import org.junit.Test;
13+
import org.olf.erm.usage.counter50.Counter5Utils;
14+
import org.olf.erm.usage.counter50.Counter5Utils.Counter5UtilsException;
15+
import org.olf.erm.usage.counter50.converter.dr.DRD1Converter;
16+
import org.olf.erm.usage.counter50.converter.tr.TRB1Converter;
17+
import org.olf.erm.usage.counter50.converter.tr.TRB3Converter;
18+
import org.olf.erm.usage.counter50.converter.tr.TRJ1Converter;
19+
import org.olf.erm.usage.counter50.converter.tr.TRJ3Converter;
20+
import org.olf.erm.usage.counter50.converter.tr.TRJ4Converter;
21+
import org.openapitools.client.model.COUNTERDatabaseReport;
22+
import org.openapitools.client.model.COUNTERTitleReport;
23+
24+
public class MissingAttributesTest {
25+
26+
private static String trStr;
27+
private static String drStr;
28+
private static COUNTERTitleReport tr;
29+
private static COUNTERDatabaseReport dr;
30+
31+
@BeforeClass
32+
public static void beforeClass() throws IOException, Counter5UtilsException {
33+
trStr =
34+
Resources.toString(Resources.getResource("converter/tr/tr.json"), StandardCharsets.UTF_8);
35+
drStr =
36+
Resources.toString(Resources.getResource("converter/dr/dr.json"), StandardCharsets.UTF_8);
37+
}
38+
39+
@Before
40+
public void setUp() throws Counter5UtilsException {
41+
tr = (COUNTERTitleReport) Counter5Utils.fromJSON(trStr);
42+
dr = (COUNTERDatabaseReport) Counter5Utils.fromJSON(drStr);
43+
}
44+
45+
@Test
46+
public void testThatConverterIsWorkingWithNullAttributesWhileFiltering() {
47+
tr.getReportItems().forEach(tu -> tu.setAccessMethod(null));
48+
dr.getReportItems().forEach(du -> du.setAccessMethod(null));
49+
Stream.of(
50+
new TRJ1Converter(),
51+
new TRJ3Converter(),
52+
new TRJ4Converter(),
53+
new TRB1Converter(),
54+
new TRB3Converter())
55+
.forEach(
56+
m ->
57+
assertThatCode(() -> assertThat(m.convert(tr).getReportItems()).isEmpty())
58+
.doesNotThrowAnyException());
59+
assertThatCode(() -> assertThat(new DRD1Converter().convert(dr).getReportItems()).isEmpty())
60+
.doesNotThrowAnyException();
61+
}
62+
63+
@Test
64+
public void testThatConverterIsWorkingWithNullAttributesWhileGrouping() {
65+
tr.getReportItems().forEach(tu -> tu.setPlatform(null));
66+
dr.getReportItems().forEach(du -> du.setPlatform(null));
67+
Stream.of(
68+
new TRJ1Converter(),
69+
new TRJ3Converter(),
70+
new TRJ4Converter(),
71+
new TRB1Converter(),
72+
new TRB3Converter())
73+
.forEach(
74+
m ->
75+
assertThatCode(() -> assertThat(m.convert(tr).getReportItems()).isNotEmpty())
76+
.doesNotThrowAnyException());
77+
assertThatCode(() -> assertThat(new DRD1Converter().convert(dr).getReportItems()).isNotEmpty())
78+
.doesNotThrowAnyException();
79+
}
80+
}

0 commit comments

Comments
 (0)