Skip to content

Commit 46e1727

Browse files
authored
Merge branch 'main' into aromanovv/PD-4790-improve-auth-challenge-logic-and-naming
2 parents 2834788 + 7a3089d commit 46e1727

File tree

44 files changed

+916
-560
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+916
-560
lines changed

CHANGELOG.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,71 @@
1+
## v2.137.16 - 2026-03-04
2+
3+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.15...v2.137.16)
4+
5+
## v2.137.15 - 2026-03-02
6+
7+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.14...v2.137.15)
8+
9+
## v2.137.14 - 2026-03-02
10+
11+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.13...v2.137.14)
12+
13+
## v2.137.13 - 2026-02-26
14+
15+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.12...v2.137.13)
16+
17+
## v2.137.12 - 2026-02-26
18+
19+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.11...v2.137.12)
20+
21+
## v2.137.11 - 2026-02-26
22+
23+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.10...v2.137.11)
24+
25+
## v2.137.10 - 2026-02-25
26+
27+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.9...v2.137.10)
28+
29+
## v2.137.9 - 2026-02-25
30+
31+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.8...v2.137.9)
32+
33+
## v2.137.8 - 2026-02-25
34+
35+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.7...v2.137.8)
36+
37+
## v2.137.7 - 2026-02-25
38+
39+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.6...v2.137.7)
40+
41+
## v2.137.6 - 2026-02-24
42+
43+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.5...v2.137.6)
44+
45+
## v2.137.5 - 2026-02-24
46+
47+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.4...v2.137.5)
48+
49+
## v2.137.4 - 2026-02-23
50+
51+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.3...v2.137.4)
52+
53+
## v2.137.3 - 2026-02-20
54+
55+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.2...v2.137.3)
56+
57+
## v2.137.2 - 2026-02-20
58+
59+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.1...v2.137.2)
60+
61+
## v2.137.1 - 2026-02-20
62+
63+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.137.0...v2.137.1)
64+
65+
## v2.137.0 - 2026-02-18
66+
67+
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.136.10...v2.137.0)
68+
169
## v2.136.10 - 2026-02-13
270

371
[Full Changelog](https://github.com/ORCID/ORCID-Source/compare/v2.136.9...v2.136.10)

orcid-api-web/src/test/java/org/orcid/api/memberV3/server/delegator/MemberV3ApiServiceDelegator_FundingTest.java

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -85,33 +85,9 @@ public class MemberV3ApiServiceDelegator_FundingTest extends DBUnitTest {
8585
@Resource(name = "memberV3ApiServiceDelegator")
8686
protected MemberV3ApiServiceDelegator<Distinction, Education, Employment, PersonExternalIdentifier, InvitedPosition, Funding, GroupIdRecord, Membership, OtherName, PeerReview, Qualification, ResearcherUrl, Service, Work, WorkBulk, Address, Keyword, ResearchResource> serviceDelegator;
8787

88-
@Resource
89-
protected EmailFrequencyManager emailFrequencyManager;
90-
91-
@Mock
92-
protected EmailFrequencyManager mockEmailFrequencyManager;
93-
9488
@Resource(name = "notificationManagerV3")
9589
private NotificationManager notificationManager;
96-
97-
@Before
98-
public void before() {
99-
MockitoAnnotations.initMocks(this);
100-
Map<String, String> map = new HashMap<String, String>();
101-
map.put(EmailFrequencyManager.ADMINISTRATIVE_CHANGE_NOTIFICATIONS, String.valueOf(Float.MAX_VALUE));
102-
map.put(EmailFrequencyManager.CHANGE_NOTIFICATIONS, String.valueOf(Float.MAX_VALUE));
103-
map.put(EmailFrequencyManager.MEMBER_UPDATE_REQUESTS, String.valueOf(Float.MAX_VALUE));
104-
map.put(EmailFrequencyManager.QUARTERLY_TIPS, String.valueOf(true));
105-
106-
when(mockEmailFrequencyManager.getEmailFrequency(anyString())).thenReturn(map);
107-
TargetProxyHelper.injectIntoProxy(notificationManager, "emailFrequencyManager", mockEmailFrequencyManager);
108-
}
109-
110-
@After
111-
public void after() {
112-
TargetProxyHelper.injectIntoProxy(notificationManager, "emailFrequencyManager", emailFrequencyManager);
113-
}
114-
90+
11591
@BeforeClass
11692
public static void initDBUnitData() throws Exception {
11793
initDBUnitData(DATA_FILES);

orcid-api-web/src/test/java/org/orcid/api/memberV3/server/delegator/MemberV3ApiServiceDelegator_GeneralTest.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,6 @@ public class MemberV3ApiServiceDelegator_GeneralTest extends DBUnitTest {
9898
@Resource
9999
private GroupIdRecordDao groupIdRecordDao;
100100

101-
@Resource
102-
protected EmailFrequencyManager emailFrequencyManager;
103-
104-
@Mock
105-
protected EmailFrequencyManager mockEmailFrequencyManager;
106-
107101
@Resource(name = "notificationManagerV3")
108102
private NotificationManager notificationManager;
109103

@@ -125,16 +119,6 @@ public class MemberV3ApiServiceDelegator_GeneralTest extends DBUnitTest {
125119
@Before
126120
public void before() throws Exception {
127121
MockitoAnnotations.initMocks(this);
128-
Map<String, String> map = new HashMap<String, String>();
129-
map.put(EmailFrequencyManager.ADMINISTRATIVE_CHANGE_NOTIFICATIONS, String.valueOf(Float.MAX_VALUE));
130-
map.put(EmailFrequencyManager.CHANGE_NOTIFICATIONS, String.valueOf(Float.MAX_VALUE));
131-
map.put(EmailFrequencyManager.MEMBER_UPDATE_REQUESTS, String.valueOf(Float.MAX_VALUE));
132-
map.put(EmailFrequencyManager.QUARTERLY_TIPS, String.valueOf(true));
133-
134-
when(mockEmailFrequencyManager.getEmailFrequency(anyString())).thenReturn(map);
135-
TargetProxyHelper.injectIntoProxy(notificationManager, "emailFrequencyManager", mockEmailFrequencyManager);
136-
137-
138122
IssnValidator mockIssnValidator = Mockito.mock(IssnValidator.class);
139123
when(mockIssnValidator.issnValid(Mockito.anyString())).thenReturn(true);
140124
TargetProxyHelper.injectIntoProxy(groupIdRecordManager, "issnValidator", mockIssnValidator);
@@ -162,7 +146,6 @@ public IssnData answer(InvocationOnMock invocation) throws Throwable {
162146

163147
@After
164148
public void after() {
165-
TargetProxyHelper.injectIntoProxy(notificationManager, "emailFrequencyManager", emailFrequencyManager);
166149
TargetProxyHelper.injectIntoProxy(groupIdRecordManager, "issnValidator", issnValidator);
167150
TargetProxyHelper.injectIntoProxy(groupIdRecordManager, "issnClient", issnClient);
168151
}

orcid-api-web/src/test/java/org/orcid/api/memberV3/server/delegator/MemberV3ApiServiceDelegator_PeerReviewsTest.java

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,6 @@ public class MemberV3ApiServiceDelegator_PeerReviewsTest extends DBUnitTest {
9898

9999
@Resource(name = "memberV3ApiServiceDelegator")
100100
protected MemberV3ApiServiceDelegator<Distinction, Education, Employment, PersonExternalIdentifier, InvitedPosition, Funding, GroupIdRecord, Membership, OtherName, PeerReview, Qualification, ResearcherUrl, Service, Work, WorkBulk, Address, Keyword, ResearchResource> serviceDelegator;
101-
102-
@Resource
103-
protected EmailFrequencyManager emailFrequencyManager;
104-
105-
@Mock
106-
protected EmailFrequencyManager mockEmailFrequencyManager;
107101

108102
@Resource(name = "notificationManagerV3")
109103
private NotificationManager notificationManager;
@@ -120,15 +114,7 @@ public class MemberV3ApiServiceDelegator_PeerReviewsTest extends DBUnitTest {
120114
@Before
121115
public void before() throws Exception {
122116
MockitoAnnotations.initMocks(this);
123-
Map<String, String> map = new HashMap<String, String>();
124-
map.put(EmailFrequencyManager.ADMINISTRATIVE_CHANGE_NOTIFICATIONS, String.valueOf(Float.MAX_VALUE));
125-
map.put(EmailFrequencyManager.CHANGE_NOTIFICATIONS, String.valueOf(Float.MAX_VALUE));
126-
map.put(EmailFrequencyManager.MEMBER_UPDATE_REQUESTS, String.valueOf(Float.MAX_VALUE));
127-
map.put(EmailFrequencyManager.QUARTERLY_TIPS, String.valueOf(true));
128-
129-
when(mockEmailFrequencyManager.getEmailFrequency(anyString())).thenReturn(map);
130-
TargetProxyHelper.injectIntoProxy(notificationManager, "emailFrequencyManager", mockEmailFrequencyManager);
131-
117+
132118
IssnValidator mockIssnValidator = Mockito.mock(IssnValidator.class);
133119
when(mockIssnValidator.issnValid(Mockito.anyString())).thenReturn(true);
134120
TargetProxyHelper.injectIntoProxy(groupIdRecordManager, "issnValidator", mockIssnValidator);
@@ -156,7 +142,6 @@ public IssnData answer(InvocationOnMock invocation) throws Throwable {
156142

157143
@After
158144
public void after() {
159-
TargetProxyHelper.injectIntoProxy(notificationManager, "emailFrequencyManager", emailFrequencyManager);
160145
TargetProxyHelper.injectIntoProxy(groupIdRecordManager, "issnValidator", issnValidator);
161146
TargetProxyHelper.injectIntoProxy(groupIdRecordManager, "issnClient", issnClient);
162147
}

orcid-api-web/src/test/java/org/orcid/api/memberV3/server/delegator/MemberV3ApiServiceDelegator_WorksTest.java

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -103,36 +103,12 @@ public class MemberV3ApiServiceDelegator_WorksTest extends DBUnitTest {
103103
@Resource(name = "memberV3ApiServiceDelegator")
104104
protected MemberV3ApiServiceDelegator<Distinction, Education, Employment, PersonExternalIdentifier, InvitedPosition, Funding, GroupIdRecord, Membership, OtherName, PeerReview, Qualification, ResearcherUrl, Service, Work, WorkBulk, Address, Keyword, ResearchResource> serviceDelegator;
105105

106-
@Resource
107-
protected EmailFrequencyManager emailFrequencyManager;
108-
109-
@Mock
110-
protected EmailFrequencyManager mockEmailFrequencyManager;
111-
112106
@Resource(name = "notificationManagerV3")
113107
private NotificationManager notificationManager;
114108

115109
@Value("${org.orcid.core.works.bulk.read.max:100}")
116110
private Long bulkReadSize;
117111

118-
@Before
119-
public void before() {
120-
MockitoAnnotations.initMocks(this);
121-
Map<String, String> map = new HashMap<String, String>();
122-
map.put(EmailFrequencyManager.ADMINISTRATIVE_CHANGE_NOTIFICATIONS, String.valueOf(Float.MAX_VALUE));
123-
map.put(EmailFrequencyManager.CHANGE_NOTIFICATIONS, String.valueOf(Float.MAX_VALUE));
124-
map.put(EmailFrequencyManager.MEMBER_UPDATE_REQUESTS, String.valueOf(Float.MAX_VALUE));
125-
map.put(EmailFrequencyManager.QUARTERLY_TIPS, String.valueOf(true));
126-
127-
when(mockEmailFrequencyManager.getEmailFrequency(anyString())).thenReturn(map);
128-
TargetProxyHelper.injectIntoProxy(notificationManager, "emailFrequencyManager", mockEmailFrequencyManager);
129-
}
130-
131-
@After
132-
public void after() {
133-
TargetProxyHelper.injectIntoProxy(notificationManager, "emailFrequencyManager", emailFrequencyManager);
134-
}
135-
136112
@BeforeClass
137113
public static void initDBUnitData() throws Exception {
138114
initDBUnitData(DATA_FILES);

orcid-api-web/tutorial/search.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ Description: Search for records that have a personal identifier "ResearcherID:A-
434434

435435
Paging: Default
436436

437-
URL ```https://pub.sandbox.orcid.org/v3.0/search/?q=external-id-type-and-value:ResearcherID\:%22A-1111-2011%22```
437+
URL ```https://pub.sandbox.orcid.org/v3.0/search/?q=external-id-type-and-value:ResearcherID=%22A-1111-2011%22```
438438

439439
### Example 18
440440

orcid-core/src/main/java/org/orcid/core/cli/AutoArchiveNotifications.java

Lines changed: 0 additions & 23 deletions
This file was deleted.

orcid-core/src/main/java/org/orcid/core/manager/NotificationManager.java

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,10 @@ public interface NotificationManager {
1818

1919
Notification sendAmendEmail(String userOrcid, AmendedSection amendedSection, Collection<Item> activities);
2020

21-
public List<Notification> findUnsentByOrcid(String orcid);
22-
2321
public List<Notification> findByOrcid(String orcid, boolean includeArchived, int firstResult, int maxResults);
2422

2523
public List<Notification> findNotificationAlertsByOrcid(String orcid);
26-
27-
public List<Notification> findNotificationsToSend(String orcid, Float emailFrequencyDays, Date recordActiveDate);
28-
24+
2925
/**
3026
* Filters the list of notification alerts by archiving any that have
3127
* already been actioned
@@ -38,33 +34,21 @@ public interface NotificationManager {
3834
*/
3935
public List<Notification> filterActionedNotificationAlerts(Collection<Notification> notifications, String userOrcid);
4036

41-
public Notification findById(Long id);
42-
43-
public Notification findByOrcidAndId(String orcid, Long id);
37+
public Notification findByOrcidAndId(String orcid, Long id);
4438

4539
public Notification flagAsArchived(String orcid, Long id) throws OrcidNotificationAlreadyReadException;
4640

4741
Notification flagAsArchived(String orcid, Long id, boolean validateForApi) throws OrcidNotificationAlreadyReadException;
4842

49-
public Notification setActionedAndReadDate(String orcid, Long id);
50-
5143
void sendAcknowledgeMessage(String userOrcid, String clientId) throws UnsupportedEncodingException;
5244

5345
public String buildAuthorizationUrlForInstitutionalSignIn(ClientDetailsEntity clientDetails) throws UnsupportedEncodingException;
5446

5547
NotificationPermissions findPermissionsByOrcidAndClient(String orcid, String client, int firstResult, int maxResults);
5648

5749
int getUnreadCount(String orcid);
58-
59-
void flagAsRead(String orcid, Long id);
6050

6151
ActionableNotificationEntity findActionableNotificationEntity(Long id); //pass trough to (ActionableNotificationEntity) find(id) and cast.
62-
63-
void processOldNotificationsToAutoArchive();
64-
65-
void processOldNotificationsToAutoDelete();
66-
67-
void removeNotification(Long notificationId);
6852

6953
Notification createPermissionNotification(String orcid, NotificationPermission notification);
7054

0 commit comments

Comments
 (0)