Class ProjectServiceImpl

  • All Implemented Interfaces:
    ProjectService

    @PreAuthorize("hasRole(\'ACTIVITI_MODELER\')")
    public class ProjectServiceImpl
    extends java.lang.Object
    implements ProjectService
    Business logic related to Project entities
    • Constructor Summary

      Constructors 
      Constructor Description
      ProjectServiceImpl​(org.activiti.cloud.modeling.repository.ProjectRepository projectRepository, ModelService modelService, ModelTypeService modelTypeService, org.activiti.cloud.modeling.converter.JsonConverter<ProjectDescriptor> descriptorJsonConverter, org.activiti.cloud.modeling.converter.JsonConverter<org.activiti.cloud.modeling.api.Project> jsonConverter, org.activiti.cloud.modeling.converter.JsonConverter<java.util.Map> jsonMetadataConverter, java.util.Set<ProjectValidator> projectValidators)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.activiti.cloud.modeling.api.Project createProject​(org.activiti.cloud.modeling.api.Project project)
      Create an project.
      void deleteProject​(org.activiti.cloud.modeling.api.Project project)
      Delete an project.
      org.activiti.cloud.services.common.file.FileContent exportProject​(org.activiti.cloud.modeling.api.Project project)
      Export an project to a zip file.
      java.util.Optional<org.activiti.cloud.modeling.api.Project> findProjectById​(java.lang.String projectId)
      Find an project by id.
      ModelService.ProjectAccessControl getProjectAccessControl​(org.activiti.cloud.modeling.api.Project project)  
      org.springframework.data.domain.Page<org.activiti.cloud.modeling.api.Project> getProjects​(org.springframework.data.domain.Pageable pageable, java.lang.String name)
      Get a page of projects.
      org.activiti.cloud.modeling.api.Project importProject​(org.springframework.web.multipart.MultipartFile file, java.lang.String name)
      Import an project form a zip multipart file.
      org.activiti.cloud.modeling.api.Project updateProject​(org.activiti.cloud.modeling.api.Project projectToUpdate, org.activiti.cloud.modeling.api.Project newProject)
      Update an project.
      void validateProject​(org.activiti.cloud.modeling.api.Project project)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ProjectServiceImpl

        @Autowired
        public ProjectServiceImpl​(org.activiti.cloud.modeling.repository.ProjectRepository projectRepository,
                                  ModelService modelService,
                                  ModelTypeService modelTypeService,
                                  org.activiti.cloud.modeling.converter.JsonConverter<ProjectDescriptor> descriptorJsonConverter,
                                  org.activiti.cloud.modeling.converter.JsonConverter<org.activiti.cloud.modeling.api.Project> jsonConverter,
                                  org.activiti.cloud.modeling.converter.JsonConverter<java.util.Map> jsonMetadataConverter,
                                  java.util.Set<ProjectValidator> projectValidators)
    • Method Detail

      • getProjects

        public org.springframework.data.domain.Page<org.activiti.cloud.modeling.api.Project> getProjects​(org.springframework.data.domain.Pageable pageable,
                                                                                                         java.lang.String name)
        Get a page of projects.
        Specified by:
        getProjects in interface ProjectService
        Parameters:
        pageable - the pagination information
        Returns:
        the page
      • createProject

        public org.activiti.cloud.modeling.api.Project createProject​(org.activiti.cloud.modeling.api.Project project)
        Create an project.
        Specified by:
        createProject in interface ProjectService
        Parameters:
        project - the project to create
        Returns:
        the created project
      • updateProject

        public org.activiti.cloud.modeling.api.Project updateProject​(org.activiti.cloud.modeling.api.Project projectToUpdate,
                                                                     org.activiti.cloud.modeling.api.Project newProject)
        Update an project.
        Specified by:
        updateProject in interface ProjectService
        Parameters:
        projectToUpdate - the project to update
        newProject - the project containing the new values to be used for update
        Returns:
        the the updated project
      • deleteProject

        public void deleteProject​(org.activiti.cloud.modeling.api.Project project)
        Delete an project.
        Specified by:
        deleteProject in interface ProjectService
        Parameters:
        project - the project to be deleted
      • findProjectById

        public java.util.Optional<org.activiti.cloud.modeling.api.Project> findProjectById​(java.lang.String projectId)
        Find an project by id.
        Specified by:
        findProjectById in interface ProjectService
        Parameters:
        projectId - the id to search for
        Returns:
        the found project, or Optional#empty()
      • exportProject

        public org.activiti.cloud.services.common.file.FileContent exportProject​(org.activiti.cloud.modeling.api.Project project)
                                                                          throws java.io.IOException
        Export an project to a zip file.
        Specified by:
        exportProject in interface ProjectService
        Parameters:
        project - the project to export
        Returns:
        the FileContent with zip content
        Throws:
        java.io.IOException - in case of I/O error
      • importProject

        public org.activiti.cloud.modeling.api.Project importProject​(org.springframework.web.multipart.MultipartFile file,
                                                                     @Nullable
                                                                     java.lang.String name)
                                                              throws java.io.IOException
        Import an project form a zip multipart file.
        Specified by:
        importProject in interface ProjectService
        Parameters:
        file - the multipart zip file to import from
        name - the name of the new project that will be set if provided
        Returns:
        the imported project
        Throws:
        java.io.IOException - in case of multipart file input stream access error
      • validateProject

        public void validateProject​(org.activiti.cloud.modeling.api.Project project)
        Specified by:
        validateProject in interface ProjectService