Пример #1
0
 public synchronized RealAgent findAgentConnectedWithCall(RealCall call) {
   for (RealAgent realAgent : list.values()) {
     if (call.equals(realAgent.getConnectedCall())) {
       return realAgent;
     }
   }
   return null;
 }
Пример #2
0
 public synchronized boolean addAgent(RealAgent agent) {
   if (!list.containsKey(agent.getId())) {
     list.put(agent.getId(), agent);
     return true;
   } else {
     return false;
   }
 }
Пример #3
0
 public synchronized int getPosition(RealAgent agent, Comparator<RealAgent> comparator) {
   RealAgent[] l = new RealAgent[0];
   l = list.values().toArray(l);
   Arrays.sort(l, comparator);
   for (int i = 0; i < l.length; i++) {
     RealAgent a = (RealAgent) l[i];
     if (a.getId().equals(agent.getId())) return i;
   }
   return 0;
 }
Пример #4
0
 public synchronized int getPausedAgentCount(int idDefault) {
   int count = 0;
   for (RealAgent realAgent : list.values()) {
     if (realAgent.isPaused()
         && (idDefault == -1 || realAgent.getPauseType().getId() == idDefault)) {
       count++;
     }
   }
   return count;
 }
Пример #5
0
 public synchronized boolean add(RealAgent realAgent) {
   if (!list.containsKey(realAgent.getId())) {
     list.put(realAgent.getId(), realAgent);
     queueAgentListenerList.onAgentAdd(realAgent);
     return true;
   } else {
     // update ?!
     // get(realQueue.getName()).setWaitCount(realQueue.getWaitCount());
     return false;
   }
 }
Пример #6
0
 public synchronized int getFreeAgentCount() {
   int count = 0;
   for (RealAgent realAgent : list.values()) {
     if ((realAgent.connectedCall == null)
         && (!realAgent.isPaused())
         && (realAgent.status != AgentStatusInQueue.IN_USE)) {
       count++;
     }
   }
   return count;
 }
Пример #7
0
 public synchronized RealAgent get(RealAgent agent) {
   return list.get(agent.getId());
 }
Пример #8
0
 public synchronized RealAgent remove(RealAgent realAgent) {
   return remove(realAgent.getId());
 }
Пример #9
0
 public synchronized void onCallLeave(RealCall call, RealQueue queue) {
   for (RealAgent agent : list.values()) {
     agent.onCallLeave(call, queue);
   }
 }
Пример #10
0
 public synchronized RealAgent getByExtension(String extension) {
   for (RealAgent a : list.values()) {
     if (a.getExtension().endsWith(extension)) return a;
   }
   return null;
 }