private List<OpenAcdRecipeStepRestInfo> createRecipeStepsRestInfo(OpenAcdQueueGroup queueGroup) { List<OpenAcdRecipeStepRestInfo> recipeStepsRestInfo; OpenAcdRecipeStepRestInfo recipeStepRestInfo; Set<OpenAcdRecipeStep> groupRecipeSteps = queueGroup.getSteps(); recipeStepsRestInfo = new ArrayList<OpenAcdRecipeStepRestInfo>(groupRecipeSteps.size()); for (OpenAcdRecipeStep groupRecipeStep : groupRecipeSteps) { recipeStepRestInfo = new OpenAcdRecipeStepRestInfo( groupRecipeStep, createRecipeActionRestInfo(groupRecipeStep), createRecipeConditionsRestInfo(groupRecipeStep)); recipeStepsRestInfo.add(recipeStepRestInfo); } return recipeStepsRestInfo; }
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); } }