Class ActivityStorage

java.lang.Object
org.exoplatform.timetracker.storage.ActivityStorage

public class ActivityStorage extends Object
Storage service to access / load and save Activitys. This service will be used , as well, to convert from JPA entity to DTO.
Version:
$Id: $Id
Author:
medamine
  • Constructor Details

  • Method Details

    • createActivity

      public Activity createActivity(Activity activity) throws Exception

      createActivity.

      Parameters:
      activity - a Activity object.
      Returns:
      a Activity object.
      Throws:
      Exception - if any.
    • updateActivity

      public Activity updateActivity(Activity activity) throws Exception

      updateActivity.

      Parameters:
      activity - a Activity object.
      Returns:
      a Activity object.
      Throws:
      Exception - if any.
    • deleteActivity

      public void deleteActivity(long activityId) throws jakarta.persistence.EntityNotFoundException

      deleteActivity.

      Parameters:
      activityId - a long.
      Throws:
      org.gatein.api.EntityNotFoundException - if any.
      jakarta.persistence.EntityNotFoundException
    • getActivityById

      public Activity getActivityById(long ActivityId)

      getActivityById.

      Parameters:
      ActivityId - a long.
      Returns:
      a Activity object.
    • getActivities

      public List<Activity> getActivities()

      getActivities.

      Returns:
      a List object.
    • getActivitiesByTeams

      public List<Activity> getActivitiesByTeams(List<String> teams)

      getActivitiesByTeams.

      Parameters:
      teams - a List object.
      Returns:
      a List object.
    • countActivities

      public long countActivities()

      countActivities.

      Returns:
      a long.
    • toDTO

      public Activity toDTO(ActivityEntity activityEntity)

      toDTO.

      Parameters:
      activityEntity - a ActivityEntity object.
      Returns:
      a Activity object.
    • toDTO

      public Activity toDTO(ActivityEntity activityEntity, Map<Long,Client> clientsById, Map<Long,List<Team>> teamsByActivity)

      toDTO with per-call caches, to avoid reloading the teams of the same activity and the sales orders of the same client for every converted record. A fresh Activity instance is still returned per call since callers may override its project/client per record.

      Parameters:
      activityEntity - a ActivityEntity object.
      clientsById - cache of already converted clients, keyed by client id.
      teamsByActivity - cache of already loaded teams, keyed by activity id.
      Returns:
      a Activity object.
    • toEntity

      public ActivityEntity toEntity(Activity activity)

      toEntity.

      Parameters:
      activity - a Activity object.
      Returns:
      a ActivityEntity object.