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())); } }
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; }
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; }
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)); } }
@Override public void execute(final ProjectService projectService, final BuildService buildService, final Event<IncrementalBuildResults> incrementalBuildResultsEvent, final Event<BuildResults> buildResultsEvent) { try { logger.info("Incremental build request being processed: " + resource.toURI() + " (deleted)."); final Project project = projectService.resolveProject(resource); //Fall back to a Full Build in lieu of an Incremental Build if the Project has not been previously built if (buildService.isBuilt(project)) { final IncrementalBuildResults results = buildService.deletePackageResource(resource); incrementalBuildResultsEvent.fire(results); } else { final BuildResults results = buildService.build(project); buildResultsEvent.fire(results); } } catch (Exception e) { logger.error(e.getMessage(), e); } }
@Override public void execute(final ProjectService projectService, final BuildService buildService, final Event<IncrementalBuildResults> incrementalBuildResultsEvent, final Event<BuildResults> buildResultsEvent) { try { logger.info("Incremental build request being processed: " + resource.toURI() + " (added)."); final Project project = projectService.resolveProject(resource); //Fall back to a Full Build in lieu of an Incremental Build if the Project has not been previously built if (buildService.isBuilt(project)) { final IncrementalBuildResults results = buildService.addPackageResource(resource); incrementalBuildResultsEvent.fire(results); } else { final BuildResults results = buildService.build(project); buildResultsEvent.fire(results); } } catch (Exception e) { logger.error(e.getMessage(), e); } }
@Override public void execute(final ProjectService projectService, final BuildService buildService, final Event<IncrementalBuildResults> incrementalBuildResultsEvent, final Event<BuildResults> buildResultsEvent) { try { logger.info("Incremental build request being processed: " + resource.toURI() + " (updated)."); final Project project = projectService.resolveProject(resource); //Fall back to a Full Build in lieu of an Incremental Build if the Project has not been previously built if (buildService.isBuilt(project)) { final IncrementalBuildResults results = buildService.updatePackageResource(resource); incrementalBuildResultsEvent.fire(results); } else { final BuildResults results = buildService.build(project); buildResultsEvent.fire(results); } } catch (Exception e) { logger.error(e.getMessage(), e); } }
protected void scheduleProjectResourceUpdate(final Path resource) { final Project project = projectService.resolveProject(resource); getExecutor().execute(new AsyncIncrementalBuilder() { @Override public void execute(final ProjectService projectService, final BuildService buildService, final Event<IncrementalBuildResults> incrementalBuildResultsEvent, final Event<BuildResults> buildResultsEvent) { try { logger.info("Incremental build request being processed: " + project.getRootPath() + " (updated)."); final BuildResults results = buildService.build(project); buildResultsEvent.fire(results); } catch (Exception e) { logger.error(e.getMessage(), e); } } @Override public String getDescription() { return "Incremental Build [" + resource.toURI() + " (updated)]"; } }); }
Project getInboxEntryProject( final InboxEntry inboxEntry ) { final Path path = Paths.get( inboxEntry.getItemPath() ); final org.uberfire.backend.vfs.Path vfsPath = org.uberfire.backend.server.util.Paths.convert( path ); return projectService.resolveProject( vfsPath ); }
private List<Project> getProjects(final Path branchRoot) { final List<Project> repositoryProjects = new ArrayList<Project>(); if (branchRoot == null) { return repositoryProjects; } else { final DirectoryStream<org.uberfire.java.nio.file.Path> nioRepositoryPaths = ioService.newDirectoryStream(Paths.convert(branchRoot)); for (org.uberfire.java.nio.file.Path nioRepositoryPath : nioRepositoryPaths) { if (Files.isDirectory(nioRepositoryPath)) { final org.uberfire.backend.vfs.Path projectPath = Paths.convert(nioRepositoryPath); final Project project = projectService.resolveProject(projectPath); if (project != null) { repositoryProjects.add(project); } } } return repositoryProjects; } } }
final Project project = projectService.resolveProject(resource); final Package pkg = projectService.resolvePackage(resource); if (project != null && pkg != null) {
private Set<Project> getProjects(final Repository repository) { final Set<Project> authorizedProjects = new HashSet<Project>(); if (repository == null) { return authorizedProjects; } final Path repositoryRoot = Paths.convert(repository.getRoot()); final DirectoryStream<Path> nioRepositoryPaths = ioService.newDirectoryStream(repositoryRoot); for (Path nioRepositoryPath : nioRepositoryPaths) { if (Files.isDirectory(nioRepositoryPath)) { final org.uberfire.backend.vfs.Path projectPath = Paths.convert(nioRepositoryPath); final Project project = projectService.get().resolveProject(projectPath); if (project != null) { authorizedProjects.add(project); } } } return authorizedProjects; } }
private List<Project> getProjects(final Path branchRoot) { final List<Project> repositoryProjects = new ArrayList<Project>(); if (branchRoot == null) { return repositoryProjects; } else { final DirectoryStream<org.uberfire.java.nio.file.Path> nioRepositoryPaths = ioService.newDirectoryStream(Paths.convert(branchRoot)); for (org.uberfire.java.nio.file.Path nioRepositoryPath : nioRepositoryPaths) { if (Files.isDirectory(nioRepositoryPath)) { final org.uberfire.backend.vfs.Path projectPath = Paths.convert(nioRepositoryPath); final Project project = projectService.resolveProject(projectPath); if (project != null) { repositoryProjects.add(project); } } } return repositoryProjects; } } }
private Set<Project> getProjects(final Repository repository) { final Set<Project> authorizedProjects = new HashSet<Project>(); if (repository == null) { return authorizedProjects; } final Path repositoryRoot = Paths.convert(repository.getRoot()); final DirectoryStream<Path> nioRepositoryPaths = ioService.newDirectoryStream(repositoryRoot); for (Path nioRepositoryPath : nioRepositoryPaths) { if (Files.isDirectory(nioRepositoryPath)) { final org.uberfire.backend.vfs.Path projectPath = Paths.convert(nioRepositoryPath); final Project project = projectService.get().resolveProject(projectPath); if (project != null) { authorizedProjects.add(project); } } } return authorizedProjects; } }
private void whenProjectExists() { when(repository.getDefaultBranch()).thenReturn("master"); Path path = mock(Path.class); when(path.getFileName()).thenReturn(""); when(path.toURI()).thenReturn("file://project/"); when(repository.getBranchRoot("master")).thenReturn(path); when(projectService.resolveProject(any(Path.class))).thenReturn(mock(MyProject.class)); }