private void processBatchResourceChanges(final SessionInfo sessionInfo, final Map<Path, Collection<ResourceChange>> resourceChanges) { Project project; final Map<Project, Path> pendingNotifications = new HashMap<Project, Path>(); for (final Map.Entry<Path, Collection<ResourceChange>> pathCollectionEntry : resourceChanges.entrySet()) { //Only process Project resources project = projectService.resolveProject(pathCollectionEntry.getKey()); if (project == null) { continue; } if (!pendingNotifications.containsKey(project) && isObservableResource(pathCollectionEntry.getKey())) { pendingNotifications.put(project, pathCollectionEntry.getKey()); } else if (isPomFile(pathCollectionEntry.getKey())) { //if the pom.xml comes in the batch events set then use the pom.xml path for the cache invalidation event pendingNotifications.put(project, pathCollectionEntry.getKey()); } } for (final Map.Entry<Project, Path> pendingNotification : pendingNotifications.entrySet()) { invalidateDMOProjectCacheEvent.fire(new InvalidateDMOProjectCacheEvent(sessionInfo, pendingNotification.getKey(), pendingNotification.getValue())); } }
@Override public Collection<Project> searchByName(String pattern, int maxItems, boolean caseSensitive) { List<Project> results = new ArrayList<>(); for (Repository repository : repositoryService.getAllRepositories()) { ProjectService projectService = getProjectService(); if (projectService != null) { Set<Project> repositoryProjects = projectService.getAllProjects(repository, "master"); for (Project project : repositoryProjects) { String name = project.getProjectName(); if (caseSensitive ? name.contains(pattern) : name.toLowerCase().contains(pattern.toLowerCase())) { results.add(project); if (maxItems > 0 && results.size() >= maxItems) { return results; } } } } } return results; }
@Override public Set<Project> getProjects(final Repository repository, final String branch) { return projectService.get().getProjects(repository, branch); }
@Test public void testProjectVersionNull() throws Exception { jobRequestHelper.createProject("jobId", "myRepository", "myProject", "projectGroupId", null, "projectDescription"); ArgumentCaptor<POM> pomArgumentCaptor = ArgumentCaptor.forClass(POM.class); verify(projectService).newProject(any(org.uberfire.backend.vfs.Path.class), pomArgumentCaptor.capture(), eq(JobRequestHelper.GUVNOR_BASE_URL)); final POM pom = pomArgumentCaptor.getValue(); assertEquals("1.0", pom.getGav().getVersion()); }
final Project project = projectService.resolveProject(resource); final Package pkg = projectService.resolvePackage(resource); if (project != null && pkg != null) { if (!projectBatchChanges.containsKey(project)) {
@Override public void delete(final Path pathToPomXML, final String comment) { projectService.delete(pathToPomXML, comment); }
public RepositoryStructureModel load(final Repository repository, final String branch, final boolean includeModules) { if (repository == null) { return null; } final Project project = projectService.resolveToParentProject(repository.getBranchRoot(branch)); if (project != null) { return getModel(repository, includeModules, project); } else { return getModel(repository, branch); } }
@Test public void testProjectGroupEmpty() throws Exception { jobRequestHelper.createProject("jobId", "myRepository", "myProject", " ", "projectVersion", "projectDescription"); ArgumentCaptor<POM> pomArgumentCaptor = ArgumentCaptor.forClass(POM.class); verify(projectService).newProject(any(org.uberfire.backend.vfs.Path.class), pomArgumentCaptor.capture(), eq(JobRequestHelper.GUVNOR_BASE_URL)); final POM pom = pomArgumentCaptor.getValue(); assertEquals("myProject", pom.getGav().getGroupId()); }
@Override public void delete(final Path pathToPomXML, final String comment) { projectService.delete(pathToPomXML, comment); }
public RepositoryStructureModel load(final Repository repository, final String branch, final boolean includeModules) { if (repository == null) { return null; } final Project project = projectService.resolveToParentProject(repository.getBranchRoot(branch)); if (project != null) { return getModel(repository, includeModules, project); } else { return getModel(repository, branch); } }
private void processResourceChange(final SessionInfo sessionInfo, final Path path, final ResourceChangeType changeType) { //Only process Project resources final Project project = projectService.resolveProject(path); if (project == null) { return; } if (logger.isDebugEnabled()) { logger.debug("Processing resource change for sessionInfo: " + sessionInfo + ", project: " + project + ", path: " + path + ", changeType: " + changeType); } if (isObservableResource(path)) { invalidateDMOProjectCacheEvent.fire(new InvalidateDMOProjectCacheEvent(sessionInfo, project, path)); } }
@Test public void testProjectVersionEmpty() throws Exception { jobRequestHelper.createProject("jobId", "myRepository", "myProject", "projectGroupId", " ", "projectDescription"); ArgumentCaptor<POM> pomArgumentCaptor = ArgumentCaptor.forClass(POM.class); verify(projectService).newProject(any(org.uberfire.backend.vfs.Path.class), pomArgumentCaptor.capture(), eq(JobRequestHelper.GUVNOR_BASE_URL)); final POM pom = pomArgumentCaptor.getValue(); assertEquals("1.0", pom.getGav().getVersion()); } }
@Override public Collection<Project> searchById(Collection<String> ids) { List<Project> results = new ArrayList<>(); for (Repository repository : repositoryService.getAllRepositories()) { ProjectService projectService = getProjectService(); if (projectService != null) { Set<Project> repositoryProjects = projectService.getAllProjects(repository, "master"); for (Project project : repositoryProjects) { if (ids.contains(project.getIdentifier())) { results.add(project); } } } } return results; } }
@Override public Set<Project> getProjects(final Repository repository, final String branch) { return projectService.get().getProjects(repository, branch); }
private Map<String, Project> getModuleProjects(final Path projectRootPath, final Collection<String> moduleNames) { final Map<String, Project> result = new HashMap<>(); final org.uberfire.java.nio.file.Path parentPath = Paths.convert(projectRootPath); for (final String moduleName : moduleNames) { result.put(moduleName, projectService.resolveProject(Paths.convert(parentPath.resolve(moduleName)))); } return result; }
@Test public void testProjectGroupNull() throws Exception { jobRequestHelper.createProject("jobId", "myRepository", "myProject", null, "projectVersion", "projectDescription"); ArgumentCaptor<POM> pomArgumentCaptor = ArgumentCaptor.forClass(POM.class); verify(projectService).newProject(any(org.uberfire.backend.vfs.Path.class), pomArgumentCaptor.capture(), eq(JobRequestHelper.GUVNOR_BASE_URL)); final POM pom = pomArgumentCaptor.getValue(); assertEquals("myProject", pom.getGav().getGroupId()); }
@Before public void setUp() throws Exception { when(itemA.getIdentifier()).thenReturn("itemA"); when(itemB.getIdentifier()).thenReturn("itemB"); when(itemA.getProjectName()).thenReturn("Item A"); when(itemB.getProjectName()).thenReturn("Item B"); when(repositoryService.getAllRepositories()).thenReturn(Arrays.asList(mock(Repository.class))); when(projectServices.get()).thenReturn(projectService); when(projectService.getAllProjects(any(), anyString())).thenReturn(new HashSet() {{ add(itemA); add(itemB); }}); searchService = new ProjectSearchServiceImpl(repositoryService, projectServices); }
@Test public void testProjects() { Repository repository = mock(Repository.class); @SuppressWarnings("unchecked") Set<Project> projects = mock(Set.class); when(repositoryService.getRepository(REPO_NAME)).thenReturn(repository); when(projectService.getProjects(repository, BRANCH_NAME)).thenReturn(projects); Collection<Project> result = service.getProjects(REPO_NAME, BRANCH_NAME); assertEquals(projects, result); }
private Map<String, Project> getModuleProjects(final Path projectRootPath, final Collection<String> moduleNames) { final Map<String, Project> result = new HashMap<>(); final org.uberfire.java.nio.file.Path parentPath = Paths.convert(projectRootPath); for (final String moduleName : moduleNames) { result.put(moduleName, projectService.resolveProject(Paths.convert(parentPath.resolve(moduleName)))); } return result; }
@Test public void testNewProjectWhenFileAlreadyExists() throws Exception { doThrow(new FileAlreadyExistsException("myProject")) .when(projectService).newProject(any(org.uberfire.backend.vfs.Path.class), any(POM.class), eq(JobRequestHelper.GUVNOR_BASE_URL)); final JobResult jobResult = jobRequestHelper.createProject("jobId", "myRepository", "myProject", "projectGroupId", "projectVersion", "projectDescription"); assertEquals("jobId", jobResult.getJobId()); assertEquals(JobStatus.DUPLICATE_RESOURCE, jobResult.getStatus()); assertEquals("Project [myProject] already exists", jobResult.getResult()); }