private void addLists(OpenAcdAgent agent, OpenAcdAgentRestInfoFull agentRestInfo) { Set<OpenAcdSkill> skills = new LinkedHashSet<OpenAcdSkill>(); List<OpenAcdSkillRestInfo> skillsRestInfo = agentRestInfo.getSkills(); for (OpenAcdSkillRestInfo skillRestInfo : skillsRestInfo) { skills.add(m_openAcdContext.getSkillById(skillRestInfo.getId())); } Set<OpenAcdQueue> queues = new LinkedHashSet<OpenAcdQueue>(); List<OpenAcdQueueRestInfo> queuesRestInfo = agentRestInfo.getQueues(); for (OpenAcdQueueRestInfo queueRestInfo : queuesRestInfo) { queues.add(m_openAcdContext.getQueueById(queueRestInfo.getId())); } Set<OpenAcdClient> clients = new LinkedHashSet<OpenAcdClient>(); List<OpenAcdClientRestInfo> clientsRestInfo = agentRestInfo.getClients(); for (OpenAcdClientRestInfo clientRestInfo : clientsRestInfo) { clients.add(m_openAcdContext.getClientById(clientRestInfo.getId())); } agent.setSkills(skills); agent.setQueues(queues); agent.setClients(clients); }
private void addLists( OpenAcdQueueGroup queueGroup, OpenAcdQueueGroupRestInfoFull queueGroupRestInfo) { // remove all skills queueGroup.getSkills().clear(); // set skills OpenAcdSkill skill; List<OpenAcdSkillRestInfo> skillsRestInfo = queueGroupRestInfo.getSkills(); for (OpenAcdSkillRestInfo skillRestInfo : skillsRestInfo) { skill = m_openAcdContext.getSkillById(skillRestInfo.getId()); queueGroup.addSkill(skill); } // remove all agent groups queueGroup.getAgentGroups().clear(); // set agent groups OpenAcdAgentGroup agentGroup; List<OpenAcdAgentGroupRestInfo> agentGroupsRestInfo = queueGroupRestInfo.getAgentGroups(); for (OpenAcdAgentGroupRestInfo agentGroupRestInfo : agentGroupsRestInfo) { agentGroup = m_openAcdContext.getAgentGroupById(agentGroupRestInfo.getId()); queueGroup.addAgentGroup(agentGroup); } // remove all current steps queueGroup.getSteps().clear(); // set steps OpenAcdRecipeStep step; OpenAcdRecipeCondition condition; OpenAcdRecipeAction action; OpenAcdRecipeActionRestInfo actionRestInfo; List<OpenAcdRecipeStepRestInfo> recipeStepsRestInfo = queueGroupRestInfo.getSteps(); for (OpenAcdRecipeStepRestInfo recipeStepRestInfo : recipeStepsRestInfo) { step = new OpenAcdRecipeStep(); step.setFrequency(recipeStepRestInfo.getFrequency()); // add conditions step.getConditions().clear(); for (OpenAcdRecipeConditionRestInfo recipeConditionRestInfo : recipeStepRestInfo.getConditions()) { condition = new OpenAcdRecipeCondition(); condition.setCondition(recipeConditionRestInfo.getCondition()); condition.setRelation(recipeConditionRestInfo.getRelation()); condition.setValueCondition(recipeConditionRestInfo.getValueCondition()); step.addCondition(condition); } // add action action = new OpenAcdRecipeAction(); actionRestInfo = recipeStepRestInfo.getAction(); action.setAction(actionRestInfo.getAction()); action.setActionValue(actionRestInfo.getActionValue()); // set action skills (separate from skills assigned to queue for (OpenAcdSkillRestInfo skillRestInfo : actionRestInfo.getSkills()) { skill = m_openAcdContext.getSkillById(skillRestInfo.getId()); action.addSkill(skill); } step.setAction(action); queueGroup.addStep(step); } }