Package ar.com.AmberSoft.iEvenTask.backend.entities

Source Code of ar.com.AmberSoft.iEvenTask.backend.entities.RelationWithModifyStateTask

package ar.com.AmberSoft.iEvenTask.backend.entities;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.apache.log4j.Logger;

import ar.com.AmberSoft.iEvenTask.services.GetTaskService;
import ar.com.AmberSoft.iEvenTask.services.UpdateEntityService;
import ar.com.AmberSoft.iEvenTask.utils.Tools;
import ar.com.AmberSoft.util.ParamsConst;

@Entity
@Table (name="iet_relacion_modifica_estado")
public class RelationWithModifyStateTask extends Relation {
 
  private static Logger logger = Logger
  .getLogger(RelationWithModifyStateTask.class);
 
  private String fromState;
  private String toState;
 
  private Set<Tarea> tareas;

 
  @Transient
  public void addTarea(Integer id){
    if (tareas==null){
      tareas = new HashSet<Tarea>();
    }
    GetTaskService service = new GetTaskService();
    Map params = new HashMap();
    params.put(ParamsConst.ID, id);
    params.put(ParamsConst.TRANSACTION_CONTROL, Boolean.FALSE);
    Map result;
    try {
      result = service.execute(params);
      tareas.add((Tarea) result.get(ParamsConst.ENTITY));
    } catch (Exception e) {
      logger.error(Tools.getStackTrace(e));
    }
   
  }
 
  @ManyToMany(cascade = CascadeType.ALL, fetch=FetchType.EAGER)
  @JoinTable(name = "iet_relacion_modifica_estado_tarea",
      joinColumns = { @JoinColumn(name = "id_relacion") }, inverseJoinColumns = { @JoinColumn(name = "id_tarea") })
  public Set<Tarea> getTareas() {
    return tareas;
  }
  public void setTareas(Set<Tarea> tareas) {
    this.tareas = tareas;
  }
 
  @Basic @Column (name="estado_inicial")
  public String getFromState() {
    return fromState;
  }
  public void setFromState(String fromState) {
    this.fromState = fromState;
  }
 
  @Basic @Column (name="estado_final")
  public String getToState() {
    return toState;
  }
  public void setToState(String toState) {
    this.toState = toState;
  }
  @Override
  public void execute() {

    if (tareas!=null){
      Iterator it = tareas.iterator();
      while (it.hasNext()) {
        Tarea tarea = (Tarea) it.next();
        if (fromState.equals(tarea.getEstado())){
          tarea.setEstado(toState);
          UpdateEntityService entityService = new UpdateEntityService();
          Map params = new HashMap();
          params.put(ParamsConst.ENTITY, tarea);
          try {
            entityService.execute(params);
          } catch (Exception e) {
            logger.error(Tools.getStackTrace(e));
          }
        }
      }
    }   
   
  }

}
TOP

Related Classes of ar.com.AmberSoft.iEvenTask.backend.entities.RelationWithModifyStateTask

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.