Interface IProjektDao

All Superinterfaces:
de.xima.cmn.dao.interfaces.IAbstractDao<Projekt, Long, IEntityContext>, IGenericDao<Projekt>, IMandantDependentBaseDao<Projekt>
All Known Implementing Classes:
ProjektDao

public interface IProjektDao extends IMandantDependentBaseDao<Projekt>
  • Method Details

    • getInstance

      static IProjektDao getInstance()
      Returns the instance of this DAO via CDI.
      Returns:
      The instance of this DAO.
    • getByUUID

      Projekt getByUUID(IEntityContext ec, UUID clientUuid, UUID uuid)
      Gets a project by its UUID. The project must be in the given client.
      Parameters:
      ec - Entity context for accessing the database.
      clientUuid - UUID of the client to which the project must belong.
      uuid - UUID of the project to get.
      Returns:
      The project with the given UUID in the given client, or null if no such project exists.
    • getByUUID

      Projekt getByUUID(IEntityContext ec, Long clientId, UUID uuid)
      Gets a project by its UUID. The project must be in the given client.
      Parameters:
      ec - Entity context for accessing the database.
      clientId - ID of the client to which the project must belong.
      uuid - UUID of the project to get.
      Returns:
      The project with the given UUID in the given client, or null if no such project exists.
    • getByUUID

      Projekt getByUUID(IEntityContext ec, Mandant client, String uuid)
      Gets a project by its UUID. The project must be in the given client.
      Parameters:
      ec - Entity context for accessing the database.
      client - The client to which the project must belong.
      uuid - UUID of the project to get.
      Returns:
      The project with the given UUID in the given client, or null if no such project exists.
    • getByUUID

      Projekt getByUUID(IEntityContext ec, Mandant client, UUID uuid)
      Gets a project by its UUID. The project must be in the given client.
      Parameters:
      ec - Entity context for accessing the database.
      client - The client to which the project must belong.
      uuid - UUID of the project to get.
      Returns:
      The project with the given UUID in the given client, or null if no such project exists.
    • isActivationAllowed

      boolean isActivationAllowed(IEntityContext ec, Projekt projekt)
    • isFsAllowed

      boolean isFsAllowed(IEntityContext ec, Projekt p, FrontendServer fs)
    • getUserPortalProjectFile

      ProjectFile getUserPortalProjectFile(IEntityContext ec, UUID portalUuid, UUID clientUuid, UUID projectUuid, UUID fileUuid)
      Returns the project file with the given file UUID in the context of the user portal with the given UUID.
      Parameters:
      ec - Entity context for accessing the database.
      portalUuid - UUID of the user portal (context).
      clientUuid - UUID of the client (context).
      projectUuid - UUID of the project.
      fileUuid - UUID of the project file.
      Returns:
      The project file with the given UUID, or null if no such project file exists.
      Throws:
      de.xima.cmn.http.exception.NotFoundException - if no portal with the given UUID exists, if no client with the given UUID exists, or if no project with the given UUID exists.
      Since:
      8.4.0
    • getPreviewImage

      byte[] getPreviewImage(IEntityContext ec, Projekt project)
    • getProjectsWithPreviewImage

      Set<Long> getProjectsWithPreviewImage(IEntityContext ec, Mandant client)
      Parameters:
      ec - Entity context for accessing the database.
      client - Client to which to limit the search. May be null, in which case no restriction is applied.
      Returns:
      A list of all IDs of projects for which a preview image is available.
    • allByClient

      List<Projekt> allByClient(IEntityContext ec, Mandant mandant, boolean includeTemplates)
    • allByClient

      List<Projekt> allByClient(IEntityContext ec, Mandant client, String scope, boolean includeTemplates)
    • allTemplatesByClient

      List<Projekt> allTemplatesByClient(IEntityContext ec, Mandant mandant)
    • allTemplatesByClient

      List<Projekt> allTemplatesByClient(IEntityContext ec, Mandant client, String scope)
    • findUniqueName

      String findUniqueName(IEntityContext ec, Mandant client, String candidate, Projekt exclude)
      Returns a name that is not taken by another Projekt in the given client other than the excluded data source. An index will be added to the candidate if necessary.
      Parameters:
      ec - IEntityContext to be used
      client - Mandant for which a unique project name should be generated
      candidate - String project name candiate to be made unique
      exclude - Projekt project to be excluded from search
      Returns:
      unique project name in the context of the given client
      Since:
      6.6.0
    • findUniqueTitle

      String findUniqueTitle(IEntityContext ec, Mandant client, String candidate, Projekt exclude)
      Returns a title that is not taken by another Projekt in the given client other than the excluded data source. An index will be added to the candidate if necessary.
      Parameters:
      ec - IEntityContext to be used
      client - Mandant for which a unique project title should be generated
      candidate - String project title candiate to be made unique
      exclude - Projekt project to be excluded from search
      Returns:
      unique project title in the context of the given client
      Since:
      6.6.0
    • isNameExisiting

      boolean isNameExisiting(IEntityContext ec, Mandant client, String name)
      Returns whether or not the given project name exists within the given client
      Parameters:
      ec - IEntityContext to be used
      client - Mandant for which to check uniqueness
      name - Project name to check
      Returns:
      whether or not the given name is unique
      Since:
      6.6.0
    • isTitleExisiting

      boolean isTitleExisiting(IEntityContext ec, Mandant client, String name)
      Returns whether or not the given project title exists within the given client
      Parameters:
      ec - IEntityContext to be used
      client - Mandant for which to check uniqueness
      name - Project title to check
      Returns:
      whether or not the given title is unique
      Since:
      6.6.0
    • updatePreviewImage

      void updatePreviewImage(IEntityContext ec, Projekt project, byte[] data)
    • allByMandant

    • getPreviewImageVersion

      String getPreviewImageVersion(IEntityContext ec, Projekt project)
      Parameters:
      ec - Entity context for accessing the database.
      project - Project for which to find the preview image.
      Returns:
      The current (locking) version of the preview image.
    • getAccessableProjects

      List<Projekt> getAccessableProjects(IEntityContext ec, IUser user, Mandant client)
      Returns all projects which are editable or visible by the user groups of the user in the given client.
      Parameters:
      ec - IEntityContext to be used
      user - IUser who has the user groups
      client - Mandant containing the user groups
      Returns:
      all projects which are visible or editable for the user in the given client
      Since:
      8.0.0
    • getProjectsPage

      PagedResult<Projekt> getProjectsPage(IEntityContext ec, PageQuery page, ProjectsPageQuery filter, boolean skipCount)
      Returns all projects for the given page request and filter.
      Parameters:
      ec - entity context for database transactions.
      page - page request defining the page and page size.
      filter - page request defining the user portal, filters.
      skipCount - whether to skip the count query.
      Returns:
      all projects enabled for the given user portal.
      Since:
      8.4.0
    • getProjectsCount

      int getProjectsCount(IEntityContext ec, ProjectsPageQuery filter)
      Returns the number of projects for the given page request and filter.
      Parameters:
      ec - user context for database transactions.
      filter - page request defining the user portal, filters.
      Returns:
      the number of projects enabled for the given user portal.
      Since:
      8.4.0
    • updateProjectRecords

      Performs a bulk update of form records based on the given project.
      Parameters:
      ec - Entity context for accessing the database.
      parameter - Parameters for the bulk update operation.
      Returns:
      Result of the bulk update operation.
      Throws:
      Exception - if a hard error occurs during the bulk update operation.
    • getByUserPortal

      Projekt getByUserPortal(IEntityContext ec, UUID userPortalUuid, UUID formUuid)
    • isZugriffsberechtigt

      @Deprecated boolean isZugriffsberechtigt(IEntityContext ec, Projekt p, Benutzer ben)
      Deprecated.
    • isEditingAllowed

      @Deprecated boolean isEditingAllowed(IEntityContext ec, Projekt p, Benutzer ben)
      Deprecated.
    • getProjektByEditorBenutzer

      @Deprecated List<Projekt> getProjektByEditorBenutzer(IEntityContext ec, Benutzer benutzer, Mandant mandant)
      Deprecated.
    • getProjektByEditorBenutzer

      @Deprecated List<Projekt> getProjektByEditorBenutzer(IEntityContext ec, Benutzer benutzer, Mandant mandant, String projectScope)
      Deprecated.
    • allVisibleProjects

      @Deprecated List<Projekt> allVisibleProjects(IEntityContext ec, Benutzer benutzer, Mandant mandant, String projectScope, boolean includeTemplates)
      Deprecated.
    • allVisibleProjects

      @Deprecated List<Projekt> allVisibleProjects(IEntityContext ec, Benutzer benutzer, Mandant mandant, String projectScope, boolean includeTemplates, de.xima.cmn.criteria.QueryCriteriaManager customQcm)
      Deprecated.
    • allEditableProjects

      @Deprecated List<Projekt> allEditableProjects(IEntityContext ec, Benutzer benutzer, Mandant mandant, String projectScope, boolean includeTemplates)
      Deprecated.
    • allEditableProjects

      @Deprecated List<Projekt> allEditableProjects(IEntityContext ec, Benutzer benutzer, Mandant mandant, String projectScope, boolean includeTemplates, de.xima.cmn.criteria.QueryCriteriaManager customQcm)
      Deprecated.
    • allVisibleProjectsQcm

      @Deprecated de.xima.cmn.criteria.QueryCriteriaManager allVisibleProjectsQcm(IEntityContext ec, Benutzer user, Mandant client, String projectScope, boolean includeTemplates)
      Deprecated.