Package ar.com.AmberSoft.iEvenTask.services

Source Code of ar.com.AmberSoft.iEvenTask.services.ListRelationService

package ar.com.AmberSoft.iEvenTask.services;

import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Random;

import javax.servlet.http.HttpServletRequest;

import ar.com.AmberSoft.iEvenTask.backend.entities.Event;
import ar.com.AmberSoft.iEvenTask.backend.entities.EventFiles;
import ar.com.AmberSoft.iEvenTask.backend.entities.EventLDAP;
import ar.com.AmberSoft.iEvenTask.backend.entities.EventLogs;
import ar.com.AmberSoft.iEvenTask.backend.entities.EventServices;
import ar.com.AmberSoft.iEvenTask.backend.entities.Relation;
import ar.com.AmberSoft.iEvenTask.backend.entities.RelationWithActionCreateTask;
import ar.com.AmberSoft.iEvenTask.backend.entities.RelationWithModifyStateTask;
import ar.com.AmberSoft.iEvenTask.backend.entities.Tarea;
import ar.com.AmberSoft.iEvenTask.backend.entities.User;
import ar.com.AmberSoft.iEvenTask.backend.entities.VisibleRelation;
import ar.com.AmberSoft.iEvenTask.utils.AppAdmin;
import ar.com.AmberSoft.util.LDAPUtils;
import ar.com.AmberSoft.util.ParamsConst;

@SuppressWarnings({"rawtypes", "unchecked"})
public class ListRelationService extends ListService {

  @Override
  public Map execute(Map params) throws Exception  {

    Map result = super.execute(params);

    HttpServletRequest request = (HttpServletRequest) params
        .get(ParamsConst.REQUEST);
    User user = null;
    if (request != null) {
      user = (User) request.getSession().getAttribute(ParamsConst.USER);
    }

    try {

      Map<String, User> users = null;
      if (user != null) {
        if (!AppAdmin.getInstance().getConfig().isEmulate()){
          users = LDAPUtils.getUsersMap(user.getId(), user.getPassword());
        }
      }

      Collection<Relation> relaciones = (Collection<Relation>) result.get(ParamsConst.DATA);
      Iterator<Relation> itRelaciones = relaciones.iterator();
      while (itRelaciones.hasNext()) {
        Relation relation = (Relation) itRelaciones.next();
        if (relation instanceof RelationWithActionCreateTask) {
          RelationWithActionCreateTask create = (RelationWithActionCreateTask) relation;
          create.setTarea(null);
        }
        if (relation instanceof RelationWithModifyStateTask) {
          RelationWithModifyStateTask modify = (RelationWithModifyStateTask) relation;
          Collection tareas = modify.getTareas();
          if (tareas!=null){
            Iterator<Tarea> itTareas = tareas.iterator();
            while (itTareas.hasNext()) {
              Tarea tarea = (Tarea) itTareas.next();
              //tarea.set
            }
          }
          //modify.setTareas(null);
        }
        Collection visibles = relation.getVisibles();
        if (visibles!=null){
          Iterator<VisibleRelation> itVisibles = visibles.iterator();
          while (itVisibles.hasNext()) {
            VisibleRelation visibleRelation = (VisibleRelation) itVisibles.next();
            visibleRelation.setRelation(null);
          }
        }
       
      }
     
     
    } catch (UnsupportedEncodingException e) {
      throw new RuntimeException(e);
    }

    return result;

  }
 
  protected void previousReturnMap(Map params, Map map) {
    Collection<Relation> relaciones = (Collection<Relation>) map.get(ParamsConst.DATA);
    Iterator<Relation> itRelaciones = relaciones.iterator();
    while (itRelaciones.hasNext()) {
      Relation relation = (Relation) itRelaciones.next();
      /*if (relation instanceof RelationWithActionCreateTask) {
        RelationWithActionCreateTask create = (RelationWithActionCreateTask) relation;
        create.setTarea(null);
      }*/
      if (relation instanceof RelationWithModifyStateTask) {
        RelationWithModifyStateTask modify = (RelationWithModifyStateTask) relation;
        Collection tareas = modify.getTareas();
        if (tareas!=null){
          Iterator<Tarea> itTareas = tareas.iterator();
          while (itTareas.hasNext()) {
            Tarea tarea = (Tarea) itTareas.next();
            //tarea.set
          }
        }
        //modify.setTareas(null);
      }
    }
  }
 
 
  @Override
  protected String getEntity() {
    return Relation.class.getName();
  }

  @Override
  public Map onEmulate(Map params) {
    Map map = new HashMap();
    Collection list = new ArrayList();
   
    addRelationCreate(list);
    addRelationCreate(list);
    addRelationCreate(list);
    addRelationCreate(list);
    addRelationCreate(list);
    addRelationCreate(list);
    addRelationCreate(list);
   
    map.put(ParamsConst.DATA, list);
    map.put(ParamsConst.TOTAL_COUNT, new Long(list.size()));
    map.put(ParamsConst.OFFSET, (Integer) params.get("offset"));
    map.put(ParamsConst.PAGING_LOAD_RESULT, Boolean.TRUE);
    return map;
  }

  protected void addRelationCreate(Collection list) {
    RelationWithActionCreateTask relation = new RelationWithActionCreateTask();
    relation.setName("Relacion" + relation.getId().toString());
   
    Event event;
    Random random = new Random();
    int intRandom = random.nextInt(4);
    switch (intRandom) {
    case 1:
      event = new EventLDAP();
      break;
    case 2:
      event = new EventFiles();
      break;
    case 3:
      event = new EventLogs();
      break;
    case 4:
      event = new EventServices();
      break;
    default:
      event = new EventLDAP();
      break;
    }
    relation.setEvent(event);
    list.add(relation);
  }
 
}
TOP

Related Classes of ar.com.AmberSoft.iEvenTask.services.ListRelationService

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.