1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.mycore.orcid.user;
20
21 import java.io.IOException;
22
23 import org.jdom2.JDOMException;
24 import org.mycore.common.MCRSession;
25 import org.mycore.common.MCRSessionMgr;
26 import org.mycore.user2.MCRUser;
27 import org.mycore.user2.MCRUserManager;
28 import org.xml.sax.SAXException;
29
30 public class MCRORCIDSession {
31
32 private static final String KEY_ORCID_USER = "ORCID_USER";
33
34 public static MCRORCIDUser getCurrentUser() {
35 MCRSession session = MCRSessionMgr.getCurrentSession();
36 MCRUser user = MCRUserManager.getCurrentUser();
37
38 MCRORCIDUser orcidUser = (MCRORCIDUser) session.get(KEY_ORCID_USER);
39 if ((orcidUser == null) || !orcidUser.getUser().equals(user)) {
40 orcidUser = new MCRORCIDUser(user);
41 session.put(KEY_ORCID_USER, orcidUser);
42 }
43 return orcidUser;
44 }
45
46 public static int getNumWorks() throws JDOMException, IOException, SAXException {
47 return getCurrentUser().getProfile().getWorksSection().getWorks().size();
48 }
49 }