Skip to main content
summaryrefslogtreecommitdiffstats
blob: c21cf949bac740f7e1be1378e4ed03e79c29382c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package org.eclipse.osee.ote.core.internal;

import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;

import org.eclipse.osee.ote.core.IUserSession;
import org.eclipse.osee.ote.core.OTESessionManager;

public class OTESessionManagerImpl implements OTESessionManager {

   private Map<UUID, IUserSession> userMap;
   private UUID activeUserId;
   
   public OTESessionManagerImpl(){
      userMap = new ConcurrentHashMap<UUID, IUserSession>();
   }
   
   @Override
   public void add(UUID sessionId, IUserSession session) {
      userMap.put(sessionId, session);
   }

   @Override
   public void remove(UUID sessionId) {
      userMap.remove(sessionId);
   }

   @Override
   public IUserSession get(UUID sessionId) {
      if(sessionId == null){
         return null;
      }
      return userMap.get(sessionId);
   }

   @Override
   public Set<UUID> get() {
      return userMap.keySet();
   }

   @Override
   public IUserSession getActiveUser() {
      IUserSession session = get(activeUserId);
      if(session == null){
         if(userMap.size() > 0){
            UUID id = userMap.keySet().iterator().next();
            session = get(id);
         }
      }
      return session;
   }

   @Override
   public void setActiveUser(UUID sessionId) {
      this.activeUserId = sessionId;
   }

}

Back to the top