net.ezcontent.impl.dao
Class FlujoDAO

java.lang.Object
  extended byorg.springframework.orm.hibernate.support.HibernateDaoSupport
      extended bynet.ezcontent.impl.dao.GlobalDAO
          extended bynet.ezcontent.impl.dao.FlujoDAO
All Implemented Interfaces:
FlowDAO, GenericDAO, InitializingBean

public class FlujoDAO
extends GlobalDAO
implements FlowDAO

El DAO que maneja los objetos para flujo de trabajo.

Author:
Enrique Zamudio

Field Summary
static String INITIAL_ACTION_NAME
           
 
Fields inherited from class org.springframework.orm.hibernate.support.HibernateDaoSupport
logger
 
Constructor Summary
FlujoDAO()
           
 
Method Summary
 List allActionTypes()
          Devuelve todos los tipos de accion, incluyendo el tipo especial _ezContent_Initial_Action.
 Action createAction(ActionType type, Record rec)
          Crea una nueva accion del tipo especificado, sobre el registro especificado.
 Action createAction(ActionType type, User assignee, Record rec)
          Crea una nueva accion del tipo determinado, asignandola al usuario especificado, sobre el registro especificado.
 ActionType createActionType()
          Crea un nuevo tipo de accion.
 void finishAction(Action action, Status finishStatus)
          Marca como terminada la accion especificada.
 void finishAction(Action action, String finishStatus)
          Marca la accion especificada con el status especificado y le fija la fecha de terminacion al momento de la llamada.
 List getActionsForRecord(Record rec)
          Busca y deuvelve las acciones cuyo destino es el registro especificado.
 List getActionsForUser(String username)
          Busca y devuelve las acciones asignadas a un usuario, buscando primero al usuario por nombre.
 List getActionsForUser(User user)
          Busca y devuelve las acciones asignadas a un usuario.
 ActionType getActionType(int typeID)
          Busca y devuelve el tipo de accion con la clave especificada.
 ActionType getActionType(String name)
          Busca y devuelve el tipo de accion con el nombre especificado.
 List getInitialActionTypes()
          Devuelve los tipos de accion iniciales.
 List getNextActionTypes(ActionType type)
          Devuelve los tipos de accion que siguen a un tipo especificado.
 List getPendingActionsForUser(String username)
          Busca y devuelve las acciones asignadas a un usuario, buscando primero al usuario por nombre.
 List getPendingActionsForUser(User user)
          Busca y devuelve las acciones asignadas a un usuario, que no han sido marcadas como terminadas.
 List getPossibleActions(User user)
          Devuelve los tipos de accion que puede realizar un usuario.
 
Methods inherited from class net.ezcontent.impl.dao.GlobalDAO
delete, delete, findAll, findAll, getStatus, getStatus, getStatus, getStatus, getStatusList, getStatusList, refresh, refresh, save, save, update, update
 
Methods inherited from class org.springframework.orm.hibernate.support.HibernateDaoSupport
afterPropertiesSet, closeSessionIfNecessary, convertHibernateAccessException, getHibernateTemplate, getSession, getSession, getSessionFactory, initDao, setHibernateTemplate, setSessionFactory
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.ezcontent.dao.GenericDAO
delete, delete, findAll, findAll, getStatus, getStatus, getStatusList, refresh, refresh, save, save, update, update
 

Field Detail

INITIAL_ACTION_NAME

public static final String INITIAL_ACTION_NAME
See Also:
Constant Field Values
Constructor Detail

FlujoDAO

public FlujoDAO()
Method Detail

getInitialActionTypes

public List getInitialActionTypes()
Devuelve los tipos de accion iniciales. Estos son los que fueron registrados como acciones siguientes de la accion especial _ezContent_Initial_Action.

Specified by:
getInitialActionTypes in interface FlowDAO
See Also:
FlowDAO.getInitialActionTypes()

allActionTypes

public List allActionTypes()
Devuelve todos los tipos de accion, incluyendo el tipo especial _ezContent_Initial_Action.

Specified by:
allActionTypes in interface FlowDAO
See Also:
FlowDAO.allActionTypes()

getActionType

public ActionType getActionType(String name)
Busca y devuelve el tipo de accion con el nombre especificado.

Specified by:
getActionType in interface FlowDAO
See Also:
FlowDAO.getActionType(java.lang.String)

getActionType

public ActionType getActionType(int typeID)
Busca y devuelve el tipo de accion con la clave especificada.

Specified by:
getActionType in interface FlowDAO
See Also:
FlowDAO.getActionType(int)

getNextActionTypes

public List getNextActionTypes(ActionType type)
Devuelve los tipos de accion que siguen a un tipo especificado.

Specified by:
getNextActionTypes in interface FlowDAO
See Also:
FlowDAO.getNextActionTypes(net.ezcontent.flow.ActionType)

getActionsForUser

public List getActionsForUser(User user)
Busca y devuelve las acciones asignadas a un usuario.

Specified by:
getActionsForUser in interface FlowDAO
See Also:
FlowDAO.getActionsForUser(net.ezcontent.auth.User)

getActionsForUser

public List getActionsForUser(String username)
Busca y devuelve las acciones asignadas a un usuario, buscando primero al usuario por nombre.

Specified by:
getActionsForUser in interface FlowDAO
See Also:
FlowDAO.getActionsForUser(java.lang.String)

getPendingActionsForUser

public List getPendingActionsForUser(User user)
Busca y devuelve las acciones asignadas a un usuario, que no han sido marcadas como terminadas. Se devuelven en orden ascendente por la fecha en que fueron creadas, es decir, las mas antiguas primero.

Specified by:
getPendingActionsForUser in interface FlowDAO
See Also:
FlowDAO.getPendingActionsForUser(net.ezcontent.auth.User)

getPendingActionsForUser

public List getPendingActionsForUser(String username)
Busca y devuelve las acciones asignadas a un usuario, buscando primero al usuario por nombre.

Specified by:
getPendingActionsForUser in interface FlowDAO
See Also:
FlowDAO.getPendingActionsForUser(java.lang.String)

getActionsForRecord

public List getActionsForRecord(Record rec)
Busca y deuvelve las acciones cuyo destino es el registro especificado.

Specified by:
getActionsForRecord in interface FlowDAO
See Also:
FlowDAO.getActionsForRecord(net.ezcontent.records.Record)

finishAction

public void finishAction(Action action,
                         Status finishStatus)
Marca como terminada la accion especificada.

Specified by:
finishAction in interface FlowDAO
See Also:
FlowDAO.finishAction(net.ezcontent.flow.Action, net.ezcontent.records.Status)

finishAction

public void finishAction(Action action,
                         String finishStatus)
Marca la accion especificada con el status especificado y le fija la fecha de terminacion al momento de la llamada.

Specified by:
finishAction in interface FlowDAO
See Also:
FlowDAO.finishAction(net.ezcontent.flow.Action, java.lang.String)

createAction

public Action createAction(ActionType type,
                           User assignee,
                           Record rec)
Crea una nueva accion del tipo determinado, asignandola al usuario especificado, sobre el registro especificado.

Specified by:
createAction in interface FlowDAO
Parameters:
type - El tipo de la accion que hay que crear.
rec - El objeto sobre el cual se va a realizar la accion.
assignee - El usuario al cual se va a asignar esta nueva accion.
See Also:
FlowDAO.createAction(net.ezcontent.flow.ActionType, net.ezcontent.auth.User, net.ezcontent.records.Record)

createAction

public Action createAction(ActionType type,
                           Record rec)
Crea una nueva accion del tipo especificado, sobre el registro especificado. Busca dentro de los usuarios de los grupos asignados al tipo de accion, y la asigna al que menos pendientes tiene.

Specified by:
createAction in interface FlowDAO
Parameters:
type - El tipo de la accion que hay que crear.
rec - El objeto sobre el cual se va a realizar la accion.
See Also:
FlowDAO.createAction(net.ezcontent.flow.ActionType, net.ezcontent.records.Record)

getPossibleActions

public List getPossibleActions(User user)
Devuelve los tipos de accion que puede realizar un usuario. Estas se determinan a partir de los grupos a los cuales pertence dicho usuario.

Specified by:
getPossibleActions in interface FlowDAO
See Also:
FlowDAO.getPossibleActions(net.ezcontent.auth.User)

createActionType

public ActionType createActionType()
Crea un nuevo tipo de accion.

Specified by:
createActionType in interface FlowDAO