Skip to content

Commit df77595

Browse files
committed
Working on model object
1 parent 06854bc commit df77595

File tree

18 files changed

+250
-117
lines changed

18 files changed

+250
-117
lines changed

orcid-api-web/src/main/java/org/orcid/api/memberV3/server/delegator/impl/MemberV3ApiServiceDelegatorImpl.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
import org.orcid.core.manager.v3.read_only.ResearchResourceManagerReadOnly;
6464
import org.orcid.core.manager.v3.read_only.ResearcherUrlManagerReadOnly;
6565
import org.orcid.core.manager.v3.read_only.WorkManagerReadOnly;
66+
import org.orcid.core.model.RecordSummary;
6667
import org.orcid.core.utils.SourceEntityUtils;
6768
import org.orcid.core.utils.v3.ContributorUtils;
6869
import org.orcid.core.utils.v3.SourceUtils;
@@ -127,7 +128,7 @@
127128
import org.orcid.jaxb.model.v3.release.record.summary.Works;
128129
import org.orcid.jaxb.model.v3.release.search.Search;
129130
import org.orcid.jaxb.model.v3.release.search.expanded.ExpandedSearch;
130-
import org.orcid.pojo.summary.RecordSummary;
131+
import org.orcid.pojo.summary.RecordSummaryPojo;
131132
import org.springframework.context.MessageSource;
132133
import org.springframework.stereotype.Component;
133134

Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package org.orcid.core.common.manager;
22

3-
import org.orcid.pojo.summary.RecordSummary;
3+
import org.orcid.core.model.RecordSummary;
4+
import org.orcid.pojo.summary.RecordSummaryPojo;
45

56
public interface SummaryManager {
67
RecordSummary getRecordSummary(String orcid);
8+
9+
RecordSummaryPojo getRecordSummaryPojo(String orcid);
710
}

orcid-core/src/main/java/org/orcid/core/common/manager/impl/SummaryManagerImpl.java

+196-82
Large diffs are not rendered by default.

orcid-api-web/src/main/java/org/orcid/api/member/model/Employment.java orcid-core/src/main/java/org/orcid/core/model/Employment.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.orcid.api.member.model;
1+
package org.orcid.core.model;
22

33
import java.util.Objects;
44

orcid-api-web/src/main/java/org/orcid/api/member/model/Employments.java orcid-core/src/main/java/org/orcid/core/model/Employments.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.orcid.api.member.model;
1+
package org.orcid.core.model;
22

33
import java.util.List;
44
import java.util.Objects;

orcid-api-web/src/main/java/org/orcid/api/member/model/ExternalIdentifier.java orcid-core/src/main/java/org/orcid/core/model/ExternalIdentifier.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.orcid.api.member.model;
1+
package org.orcid.core.model;
22

33
import java.util.Objects;
44

orcid-api-web/src/main/java/org/orcid/api/member/model/ExternalIdentifiers.java orcid-core/src/main/java/org/orcid/core/model/ExternalIdentifiers.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.orcid.api.member.model;
1+
package org.orcid.core.model;
22

33
import java.util.List;
44
import java.util.Objects;

orcid-api-web/src/main/java/org/orcid/api/member/model/Fundings.java orcid-core/src/main/java/org/orcid/core/model/Fundings.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.orcid.api.member.model;
1+
package org.orcid.core.model;
22

33
import javax.xml.bind.annotation.XmlRootElement;
44

orcid-api-web/src/main/java/org/orcid/api/member/model/ItemsCount.java orcid-core/src/main/java/org/orcid/core/model/ItemsCount.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.orcid.api.member.model;
1+
package org.orcid.core.model;
22

33
import java.util.Objects;
44

orcid-api-web/src/main/java/org/orcid/api/member/model/PeerReviews.java orcid-core/src/main/java/org/orcid/core/model/PeerReviews.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.orcid.api.member.model;
1+
package org.orcid.core.model;
22

33
import java.util.Objects;
44

orcid-api-web/src/main/java/org/orcid/api/member/model/ProfessionalActivities.java orcid-core/src/main/java/org/orcid/core/model/ProfessionalActivities.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.orcid.api.member.model;
1+
package org.orcid.core.model;
22

33
import java.util.List;
44
import java.util.Objects;

orcid-api-web/src/main/java/org/orcid/api/member/model/ProfessionalActivity.java orcid-core/src/main/java/org/orcid/core/model/ProfessionalActivity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.orcid.api.member.model;
1+
package org.orcid.core.model;
22

33
import java.util.Objects;
44

orcid-api-web/src/main/java/org/orcid/api/member/model/RecordSummary.java orcid-core/src/main/java/org/orcid/core/model/RecordSummary.java

+26-11
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,41 @@
1-
package org.orcid.api.member.model;
1+
package org.orcid.core.model;
22

33
import java.util.Objects;
44

5+
import javax.annotation.Resource;
56
import javax.xml.bind.annotation.XmlAccessType;
67
import javax.xml.bind.annotation.XmlAccessorType;
78
import javax.xml.bind.annotation.XmlElement;
89
import javax.xml.bind.annotation.XmlRootElement;
910
import javax.xml.bind.annotation.XmlType;
11+
import javax.xml.datatype.XMLGregorianCalendar;
1012

13+
import org.orcid.core.manager.impl.OrcidUrlManager;
14+
import org.orcid.jaxb.model.common_v2.SourceClientId;
1115
import org.orcid.jaxb.model.v3.release.common.CreatedDate;
1216
import org.orcid.jaxb.model.v3.release.common.LastModifiedDate;
17+
import org.orcid.jaxb.model.v3.release.common.OrcidIdentifier;
18+
import org.orcid.pojo.summary.AffiliationSummary;
19+
import org.orcid.utils.DateUtils;
1320

1421
import io.swagger.v3.oas.annotations.media.Schema;
1522

1623
@XmlAccessorType(XmlAccessType.FIELD)
17-
@XmlType(propOrder = { "createdDate", "lastModifiedDate", "creditName", "orcidIdentifier", "externalIdentifiers", "employments", "profilessionalActivities", "fundings",
24+
@XmlType(propOrder = { "createdDate", "lastModifiedDate", "creditName", "orcidIdentifier", "orcidIdentifier", "externalIdentifiers", "employments", "profilessionalActivities", "fundings",
1825
"works", "peerReviews" })
1926
@XmlRootElement(name = "work-summary", namespace = "http://www.orcid.org/ns/work")
2027
@Schema(description = "Record summary")
2128
public class RecordSummary {
22-
29+
@Resource
30+
private OrcidUrlManager orcidUrlManager;
2331
@XmlElement(name = "last-modified-date", namespace = "http://www.orcid.org/ns/common")
2432
private LastModifiedDate lastModifiedDate;
2533
@XmlElement(name = "created-date", namespace = "http://www.orcid.org/ns/common")
2634
private CreatedDate createdDate;
2735
@XmlElement(name = "credit-name", namespace = "http://www.orcid.org/ns/summary")
2836
private String creditName;
37+
@XmlElement(name = "orcid-identifier", namespace = "http://www.orcid.org/ns/common")
38+
protected OrcidIdentifier orcidIdentifier;
2939
@XmlElement(name = "external-identifiers", namespace = "http://www.orcid.org/ns/summary")
3040
private ExternalIdentifiers externalIdentifiers;
3141
@XmlElement(name = "employments", namespace = "http://www.orcid.org/ns/summary")
@@ -39,6 +49,14 @@ public class RecordSummary {
3949
@XmlElement(name = "peer-reviews", namespace = "http://www.orcid.org/ns/summary")
4050
private PeerReviews peerReviews;
4151

52+
public OrcidIdentifier getOrcidIdentifier() {
53+
return orcidIdentifier;
54+
}
55+
56+
public void setOrcidIdentifier(OrcidIdentifier orcidIdentifier) {
57+
this.orcidIdentifier = orcidIdentifier;
58+
}
59+
4260
public LastModifiedDate getLastModifiedDate() {
4361
return lastModifiedDate;
4462
}
@@ -113,7 +131,8 @@ public void setPeerReviews(PeerReviews peerReviews) {
113131

114132
@Override
115133
public int hashCode() {
116-
return Objects.hash(createdDate, creditName, employments, externalIdentifiers, fundings, lastModifiedDate, peerReviews, professionalActivities, works);
134+
return Objects.hash(createdDate, creditName, employments, externalIdentifiers, fundings, lastModifiedDate, orcidIdentifier, orcidUrlManager, peerReviews,
135+
professionalActivities, works);
117136
}
118137

119138
@Override
@@ -127,12 +146,8 @@ public boolean equals(Object obj) {
127146
RecordSummary other = (RecordSummary) obj;
128147
return Objects.equals(createdDate, other.createdDate) && Objects.equals(creditName, other.creditName) && Objects.equals(employments, other.employments)
129148
&& Objects.equals(externalIdentifiers, other.externalIdentifiers) && Objects.equals(fundings, other.fundings)
130-
&& Objects.equals(lastModifiedDate, other.lastModifiedDate) && Objects.equals(peerReviews, other.peerReviews)
149+
&& Objects.equals(lastModifiedDate, other.lastModifiedDate) && Objects.equals(orcidIdentifier, other.orcidIdentifier)
150+
&& Objects.equals(orcidUrlManager, other.orcidUrlManager) && Objects.equals(peerReviews, other.peerReviews)
131151
&& Objects.equals(professionalActivities, other.professionalActivities) && Objects.equals(works, other.works);
132-
}
133-
134-
public RecordSummary valueOf(org.orcid.pojo.summary.RecordSummary coreSummaryObject) {
135-
RecordSummary summary = new RecordSummary();
136-
return summary;
137-
}
152+
}
138153
}

orcid-api-web/src/main/java/org/orcid/api/member/model/Works.java orcid-core/src/main/java/org/orcid/core/model/Works.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.orcid.api.member.model;
1+
package org.orcid.core.model;
22

33
import javax.xml.bind.annotation.XmlRootElement;
44

orcid-core/src/main/java/org/orcid/pojo/summary/RecordSummary.java orcid-core/src/main/java/org/orcid/pojo/summary/RecordSummaryPojo.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import com.fasterxml.jackson.annotation.JsonInclude.Include;
1010

1111
@XmlRootElement
12-
public class RecordSummary {
12+
public class RecordSummaryPojo {
1313
@JsonInclude(Include.NON_NULL)
1414
private String name;
1515
private String orcid;

orcid-core/src/test/java/org/orcid/core/common/manager/SummaryManagerTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.orcid.core.manager.v3.read_only.ProfileFundingManagerReadOnly;
2626
import org.orcid.core.manager.v3.read_only.RecordManagerReadOnly;
2727
import org.orcid.core.manager.v3.read_only.RecordNameManagerReadOnly;
28+
import org.orcid.core.model.RecordSummary;
2829
import org.orcid.jaxb.model.v3.release.common.CreatedDate;
2930
import org.orcid.jaxb.model.v3.release.common.CreditName;
3031
import org.orcid.jaxb.model.v3.release.common.FuzzyDate;
@@ -62,7 +63,6 @@
6263
import org.orcid.jaxb.model.v3.release.record.summary.Works;
6364
import org.orcid.persistence.jpa.entities.ProfileEntity;
6465
import org.orcid.pojo.PeerReviewMinimizedSummary;
65-
import org.orcid.pojo.summary.RecordSummary;
6666
import org.orcid.utils.DateUtils;
6767
import org.springframework.test.util.ReflectionTestUtils;
6868

orcid-web/src/main/java/org/orcid/frontend/web/controllers/PublicRecordController.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
import org.orcid.pojo.ajaxForm.OtherNamesForm;
4444
import org.orcid.pojo.ajaxForm.PojoUtil;
4545
import org.orcid.pojo.ajaxForm.WebsitesForm;
46-
import org.orcid.pojo.summary.RecordSummary;
46+
import org.orcid.pojo.summary.RecordSummaryPojo;
4747
import org.springframework.http.MediaType;
4848
import org.springframework.stereotype.Controller;
4949
import org.springframework.web.bind.annotation.PathVariable;
@@ -212,8 +212,8 @@ PublicRecord getRecord(String orcid) {
212212
}
213213

214214
@RequestMapping(value = "/{orcid:(?:\\d{4}-){3,}\\d{3}[\\dX]}/summary.json", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
215-
public @ResponseBody RecordSummary getSummaryRecord(@PathVariable("orcid") String orcid) {
216-
RecordSummary recordSummary = new RecordSummary();
215+
public @ResponseBody RecordSummaryPojo getSummaryRecord(@PathVariable("orcid") String orcid) {
216+
RecordSummaryPojo recordSummary = new RecordSummaryPojo();
217217
try {
218218
// Check if the profile is deprecated or locked
219219
orcidSecurityManager.checkProfile(orcid);

orcid-web/src/test/java/org/orcid/frontend/web/controllers/PublicRecordControllerLegacyTest.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import org.orcid.jaxb.model.common.Iso3166Country;
1313
import org.orcid.jaxb.model.v3.release.common.Visibility;
1414
import org.orcid.pojo.PublicRecord;
15-
import org.orcid.pojo.summary.RecordSummary;
15+
import org.orcid.pojo.summary.RecordSummaryPojo;
1616
import org.orcid.test.DBUnitTest;
1717
import org.orcid.test.OrcidJUnit4ClassRunner;
1818
import org.springframework.test.context.ContextConfiguration;
@@ -141,7 +141,7 @@ public void testGetPublicRecord() {
141141

142142
@Test
143143
public void testGetRecordSummary() {
144-
RecordSummary record = publicRecordController.getSummaryRecord(userOrcid);
144+
RecordSummaryPojo record = publicRecordController.getSummaryRecord(userOrcid);
145145

146146
assertEquals("active", record.getStatus());
147147
assertNotNull(record.getName());
@@ -191,7 +191,7 @@ public void testGetRecordSummary() {
191191

192192
@Test
193193
public void testGetRecordSummaryDeactivated() {
194-
RecordSummary record = publicRecordController.getSummaryRecord(deactivatedUserOrcid);
194+
RecordSummaryPojo record = publicRecordController.getSummaryRecord(deactivatedUserOrcid);
195195

196196
assertEquals("Given Names Deactivated Family Name Deactivated", record.getName());
197197

@@ -200,7 +200,7 @@ public void testGetRecordSummaryDeactivated() {
200200

201201
@Test
202202
public void testGetRecordSummaryLocked() {
203-
RecordSummary record = publicRecordController.getSummaryRecord(lockedUserOrcid);
203+
RecordSummaryPojo record = publicRecordController.getSummaryRecord(lockedUserOrcid);
204204

205205
assertNotNull(record.getName());
206206
assertEquals("Given Names Deactivated Family Name Deactivated", record.getName());
@@ -210,7 +210,7 @@ public void testGetRecordSummaryLocked() {
210210

211211
@Test
212212
public void testGetRecordSummaryDeprecated() {
213-
RecordSummary record = publicRecordController.getSummaryRecord(deprecatedUserOrcid);
213+
RecordSummaryPojo record = publicRecordController.getSummaryRecord(deprecatedUserOrcid);
214214

215215
assertNull(record.getName());
216216

@@ -219,14 +219,14 @@ public void testGetRecordSummaryDeprecated() {
219219

220220
@Test
221221
public void testGetRecordSummaryPrivateName() {
222-
RecordSummary record = publicRecordController.getSummaryRecord(unclaimedUserOrcid);
222+
RecordSummaryPojo record = publicRecordController.getSummaryRecord(unclaimedUserOrcid);
223223

224224
assertNull(record.getName());
225225
}
226226

227227
@Test
228228
public void testGetRecordSummaryProfessionalActivitiesSortedByEndDate() {
229-
RecordSummary record = publicRecordController.getSummaryRecord("0000-0000-0000-0008");
229+
RecordSummaryPojo record = publicRecordController.getSummaryRecord("0000-0000-0000-0008");
230230

231231
assertEquals(5, record.getProfessionalActivitiesCount());
232232
assertNull(record.getProfessionalActivities().get(0).getEndDate());

0 commit comments

Comments
 (0)