es.mcu.yingo.tareas.activadores
Class ActivadorTareasAnd

java.lang.Object
  extended by es.mcu.yingo.tareas.activadores.ActivadorTareasAnd
All Implemented Interfaces:
Activador

public class ActivadorTareasAnd
extends java.lang.Object
implements Activador

Implementación que indica cuando se han ejecutado todas las tareas previas de una tarea determinada. Va anotando el la tabla TAREAS_PREVIAS cada una de las tareas previas a la tarea que contenga este Activador. Cuando se ejecuta la última tarea previa, se apunta la tarea que contenga al activador en pendientes

Esto ocurre típicamnete en los casos en los que se deben ejecutar varias tareas previas en paralelo, para que se active una tarea determinada. Por ejemplo:
Tenemos una aplicación para gestionar la cocina de un restaurante. Hay una tarea inicial que pide el menú, y esto genera tres tareas pendientes que se asignan a tres cocineros:

Las tres tareas anteriores, se realizan en paralelo, y cada una termina en un momento determinado, ejecutando cada una de ellas el Activador de la tarea siguiente, que es "TareaCamarero: Que sirve el primer plato". El Activador de esta tarea, va comprobando que se han ejecutado todas las tareas previas, cuando la última se ejecuta devolverá true, con lo que se apuntará como pendiente "TareaCamarero"

Author:
carlos.garcia.h

Field Summary
private  BaseDatos baseDatos
          Utilidad que centraliza operaciones comunes con la base de datos
private  java.util.List previas
          Lista de tareas previas
 
Constructor Summary
ActivadorTareasAnd()
           
 
Method Summary
 boolean estaPendiente(Dao dao, java.lang.String idAplicacion, java.lang.String codExpediente, java.lang.String idTareaOrigen, java.lang.String idTareaDestino)
          Indica si con la atrea entrante, estan todas las tareas realizadas
 BaseDatos getBaseDatos()
          Utilidad que centraliza operaciones comunes con la base de datos
 java.util.List getPrevias()
          Lista de tareas previas que se deben de haber ejecutado para que la tarea que contiene a este Activador se anote como pendiente
 void setBaseDatos(BaseDatos baseDatos)
          Utilidad que centraliza operaciones comunes con la base de datos
 void setPrevias(java.util.List previas)
          Lista de tareas previas que se deben de haber ejecutado para que la tarea que contiene a este Activador se anote como pendiente
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

previas

private java.util.List previas
Lista de tareas previas


baseDatos

private BaseDatos baseDatos
Utilidad que centraliza operaciones comunes con la base de datos

Constructor Detail

ActivadorTareasAnd

public ActivadorTareasAnd()
Method Detail

estaPendiente

public boolean estaPendiente(Dao dao,
                             java.lang.String idAplicacion,
                             java.lang.String codExpediente,
                             java.lang.String idTareaOrigen,
                             java.lang.String idTareaDestino)
Indica si con la atrea entrante, estan todas las tareas realizadas

Specified by:
estaPendiente in interface Activador
Parameters:
dao -
codExpediente -
idTareaOrigen -
idTareaDestino -
Returns:

getPrevias

public java.util.List getPrevias()
Lista de tareas previas que se deben de haber ejecutado para que la tarea que contiene a este Activador se anote como pendiente

Returns:

setPrevias

public void setPrevias(java.util.List previas)
Lista de tareas previas que se deben de haber ejecutado para que la tarea que contiene a este Activador se anote como pendiente

Parameters:
previas -

getBaseDatos

public BaseDatos getBaseDatos()
Utilidad que centraliza operaciones comunes con la base de datos

Returns:
the baseDatos

setBaseDatos

public void setBaseDatos(BaseDatos baseDatos)
Utilidad que centraliza operaciones comunes con la base de datos

Parameters:
baseDatos - the baseDatos to set