package fr.openwide.maven.artifact.notifier.core.business.project.service; import java.util.List; import fr.openwide.core.jpa.business.generic.service.IGenericEntityService; import fr.openwide.core.jpa.exception.SecurityServiceException; import fr.openwide.core.jpa.exception.ServiceException; import fr.openwide.maven.artifact.notifier.core.business.artifact.model.Artifact; import fr.openwide.maven.artifact.notifier.core.business.project.model.Project; import fr.openwide.maven.artifact.notifier.core.business.project.model.ProjectVersion; public interface IProjectService extends IGenericEntityService<Long, Project> { Project getByUri(String uri); List<Project> searchAutocomplete(String searchPattern, Integer limit, Integer offset) throws ServiceException; List<Project> searchByName(String searchPattern, Integer limit, Integer offset); int countSearchByName(String searchTerm); void createProjectVersion(Project project, ProjectVersion projectVersion) throws ServiceException, SecurityServiceException; void deleteProjectVersion(Project project, ProjectVersion projectVersion) throws ServiceException, SecurityServiceException; void addArtifact(Project project, Artifact artifact) throws ServiceException, SecurityServiceException; void removeArtifact(Project project, Artifact artifact) throws ServiceException, SecurityServiceException; }