コード例 #1
0
  private List<OpenAcdAgentGroupRestInfo> createAgentGroupsRestInfo(OpenAcdQueueGroup queueGroup) {
    List<OpenAcdAgentGroupRestInfo> agentGroupsRestInfo;
    OpenAcdAgentGroupRestInfo agentGroupRestInfo;

    // create list of agent group restinfos for single group
    Set<OpenAcdAgentGroup> groupAgentGroups = queueGroup.getAgentGroups();
    agentGroupsRestInfo = new ArrayList<OpenAcdAgentGroupRestInfo>(groupAgentGroups.size());

    for (OpenAcdAgentGroup groupAgentGroup : groupAgentGroups) {
      agentGroupRestInfo = new OpenAcdAgentGroupRestInfo(groupAgentGroup);
      agentGroupsRestInfo.add(agentGroupRestInfo);
    }

    return agentGroupsRestInfo;
  }
コード例 #2
0
  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);
    }
  }