Search in sources :

Example 1 with ProjectTypeRegistry

use of org.eclipse.che.api.project.server.type.ProjectTypeRegistry in project che by eclipse.

the class BaseTest method initProjectApi.

@BeforeMethod
protected void initProjectApi() throws Exception {
    mavenServerManager = new MavenServerManager(mavenServerPath);
    workspaceHolder = new TestWorkspaceHolder();
    if (root == null)
        root = new File(wsPath);
    if (root.exists()) {
        IoUtil.deleteRecursive(root);
    }
    root.mkdir();
    File indexDir = new File(INDEX_PATH);
    if (indexDir.exists()) {
        IoUtil.deleteRecursive(indexDir);
    }
    indexDir.mkdir();
    Set<PathMatcher> filters = new HashSet<>();
    filters.add(path -> true);
    FSLuceneSearcherProvider sProvider = new FSLuceneSearcherProvider(indexDir, filters);
    vfsProvider = new LocalVirtualFileSystemProvider(root, sProvider);
    projectTypeRegistry = new ProjectTypeRegistry(new HashSet<>());
    projectTypeRegistry.registerProjectType(new TestProjectType());
    projectTypeRegistry.registerProjectType(new JavaProjectType(new JavaValueProviderFactory()));
    projectTypeRegistry.registerProjectType(new MavenProjectType(new MavenValueProviderFactory()));
    projectHandlerRegistry = new ProjectHandlerRegistry(new HashSet<>());
    projectRegistry = new ProjectRegistry(workspaceHolder, vfsProvider, projectTypeRegistry, projectHandlerRegistry, eventService);
    projectRegistry.initProjects();
    importerRegistry = new ProjectImporterRegistry(new HashSet<>());
    fileWatcherNotificationHandler = new DefaultFileWatcherNotificationHandler(vfsProvider);
    fileTreeWatcher = new FileTreeWatcher(root, new HashSet<>(), fileWatcherNotificationHandler);
    pm = new ProjectManager(vfsProvider, projectTypeRegistry, projectRegistry, projectHandlerRegistry, importerRegistry, fileWatcherNotificationHandler, fileTreeWatcher, new TestWorkspaceHolder(new ArrayList<>()), mock(FileWatcherManager.class));
    plugin = new ResourcesPlugin("target/index", wsPath, () -> projectRegistry, () -> pm);
    plugin.start();
    javaPlugin.start();
}
Also used : ProjectTypeRegistry(org.eclipse.che.api.project.server.type.ProjectTypeRegistry) MavenProjectType(org.eclipse.che.plugin.maven.server.projecttype.MavenProjectType) ProjectHandlerRegistry(org.eclipse.che.api.project.server.handlers.ProjectHandlerRegistry) JavaValueProviderFactory(org.eclipse.che.plugin.java.server.projecttype.JavaValueProviderFactory) ProjectImporterRegistry(org.eclipse.che.api.project.server.importer.ProjectImporterRegistry) LocalVirtualFileSystemProvider(org.eclipse.che.api.vfs.impl.file.LocalVirtualFileSystemProvider) ProjectManager(org.eclipse.che.api.project.server.ProjectManager) PathMatcher(java.nio.file.PathMatcher) DefaultFileWatcherNotificationHandler(org.eclipse.che.api.vfs.impl.file.DefaultFileWatcherNotificationHandler) ResourcesPlugin(org.eclipse.core.resources.ResourcesPlugin) ProjectRegistry(org.eclipse.che.api.project.server.ProjectRegistry) FileTreeWatcher(org.eclipse.che.api.vfs.impl.file.FileTreeWatcher) File(java.io.File) JavaProjectType(org.eclipse.che.plugin.java.server.projecttype.JavaProjectType) HashSet(java.util.HashSet) FSLuceneSearcherProvider(org.eclipse.che.api.vfs.search.impl.FSLuceneSearcherProvider) MavenValueProviderFactory(org.eclipse.che.plugin.maven.server.projecttype.MavenValueProviderFactory) BeforeMethod(org.testng.annotations.BeforeMethod)

Example 2 with ProjectTypeRegistry

use of org.eclipse.che.api.project.server.type.ProjectTypeRegistry in project che by eclipse.

the class BaseTest method initProjectApi.

@BeforeClass
protected void initProjectApi() throws Exception {
    JavaPlugin javaPlugin = new JavaPlugin(wsPath + "/set", null, null);
    EventService eventService = new EventService();
    TestWorkspaceHolder workspaceHolder = new TestWorkspaceHolder();
    if (root == null)
        root = new File(wsPath);
    if (root.exists()) {
        IoUtil.deleteRecursive(root);
    }
    root.mkdir();
    File indexDir = new File(INDEX_PATH);
    if (indexDir.exists()) {
        IoUtil.deleteRecursive(indexDir);
    }
    indexDir.mkdir();
    Set<PathMatcher> filters = new HashSet<>();
    filters.add(path -> true);
    FSLuceneSearcherProvider sProvider = new FSLuceneSearcherProvider(indexDir, filters);
    vfsProvider = new LocalVirtualFileSystemProvider(root, sProvider);
    ProjectTypeRegistry projectTypeRegistry = new ProjectTypeRegistry(new HashSet<>());
    projectTypeRegistry.registerProjectType(new JavaProjectType(new JavaValueProviderFactory()));
    projectTypeRegistry.registerProjectType(new PlainJavaProjectType(new PlainJavaValueProviderFactory()));
    ProjectHandlerRegistry projectHandlerRegistry = new ProjectHandlerRegistry(new HashSet<>());
    projectRegistry = new ProjectRegistry(workspaceHolder, vfsProvider, projectTypeRegistry, projectHandlerRegistry, eventService);
    projectRegistry.initProjects();
    ProjectImporterRegistry importerRegistry = new ProjectImporterRegistry(new HashSet<>());
    FileWatcherNotificationHandler fileWatcherNotificationHandler = new DefaultFileWatcherNotificationHandler(vfsProvider);
    FileTreeWatcher fileTreeWatcher = new FileTreeWatcher(root, new HashSet<>(), fileWatcherNotificationHandler);
    projectManager = new ProjectManager(vfsProvider, projectTypeRegistry, projectRegistry, projectHandlerRegistry, importerRegistry, fileWatcherNotificationHandler, fileTreeWatcher, new TestWorkspaceHolder(new ArrayList<>()), mock(FileWatcherManager.class));
    ResourcesPlugin plugin = new ResourcesPlugin("target/index", wsPath, () -> projectRegistry, () -> projectManager);
    plugin.start();
    javaPlugin.start();
}
Also used : ProjectTypeRegistry(org.eclipse.che.api.project.server.type.ProjectTypeRegistry) ProjectHandlerRegistry(org.eclipse.che.api.project.server.handlers.ProjectHandlerRegistry) PlainJavaProjectType(org.eclipse.che.plugin.java.plain.server.projecttype.PlainJavaProjectType) JavaValueProviderFactory(org.eclipse.che.plugin.java.server.projecttype.JavaValueProviderFactory) PlainJavaValueProviderFactory(org.eclipse.che.plugin.java.plain.server.projecttype.PlainJavaValueProviderFactory) FileWatcherNotificationHandler(org.eclipse.che.api.vfs.impl.file.FileWatcherNotificationHandler) DefaultFileWatcherNotificationHandler(org.eclipse.che.api.vfs.impl.file.DefaultFileWatcherNotificationHandler) ProjectImporterRegistry(org.eclipse.che.api.project.server.importer.ProjectImporterRegistry) JavaPlugin(org.eclipse.jdt.internal.ui.JavaPlugin) LocalVirtualFileSystemProvider(org.eclipse.che.api.vfs.impl.file.LocalVirtualFileSystemProvider) EventService(org.eclipse.che.api.core.notification.EventService) ProjectManager(org.eclipse.che.api.project.server.ProjectManager) PathMatcher(java.nio.file.PathMatcher) DefaultFileWatcherNotificationHandler(org.eclipse.che.api.vfs.impl.file.DefaultFileWatcherNotificationHandler) ResourcesPlugin(org.eclipse.core.resources.ResourcesPlugin) PlainJavaValueProviderFactory(org.eclipse.che.plugin.java.plain.server.projecttype.PlainJavaValueProviderFactory) ProjectRegistry(org.eclipse.che.api.project.server.ProjectRegistry) FileTreeWatcher(org.eclipse.che.api.vfs.impl.file.FileTreeWatcher) File(java.io.File) JavaProjectType(org.eclipse.che.plugin.java.server.projecttype.JavaProjectType) PlainJavaProjectType(org.eclipse.che.plugin.java.plain.server.projecttype.PlainJavaProjectType) HashSet(java.util.HashSet) FSLuceneSearcherProvider(org.eclipse.che.api.vfs.search.impl.FSLuceneSearcherProvider) BeforeClass(org.testng.annotations.BeforeClass)

Example 3 with ProjectTypeRegistry

use of org.eclipse.che.api.project.server.type.ProjectTypeRegistry in project che by eclipse.

the class ProjectTypesTest method testGetMixinsShouldNotReturnNotPersistedMixin.

@Test
public void testGetMixinsShouldNotReturnNotPersistedMixin() throws Exception {
    Set<ProjectTypeDef> pts = new HashSet<>();
    pts.add(new PrimaryType());
    pts.add(new PersistedMixin());
    pts.add(new NotPersistedMixin());
    ProjectTypeRegistry reg = new ProjectTypeRegistry(pts);
    List<RegisteredProject.Problem> problems = new ArrayList<>();
    ProjectTypes projectTypes = new ProjectTypes(generate("projectPath-", 5), PrimaryType.PRIMARY_ID, Arrays.asList(PersistedMixin.PERSISTED_MIXIN_ID, NotPersistedMixin.NOT_PERSISTED_MIXIN_ID), reg, problems);
    assertFalse(projectTypes.getMixins().containsKey(NotPersistedMixin.NOT_PERSISTED_MIXIN_ID));
    assertEquals(problems.size(), 0);
}
Also used : ProjectTypeRegistry(org.eclipse.che.api.project.server.type.ProjectTypeRegistry) ArrayList(java.util.ArrayList) ProjectTypeDef(org.eclipse.che.api.project.server.type.ProjectTypeDef) HashSet(java.util.HashSet) Test(org.testng.annotations.Test)

Example 4 with ProjectTypeRegistry

use of org.eclipse.che.api.project.server.type.ProjectTypeRegistry in project che by eclipse.

the class ProjectTypesTest method testGetMixinsShouldReturnNotFoundException.

//@Test(expectedExceptions = NotFoundException.class)
public void testGetMixinsShouldReturnNotFoundException() throws Exception {
    final String notFoundMixin = generate("notFoundMixin-", 5);
    Set<ProjectTypeDef> pts = new HashSet<>();
    pts.add(new PrimaryType());
    pts.add(new PersistedMixin());
    pts.add(new NotPersistedMixin());
    ProjectTypeRegistry reg = new ProjectTypeRegistry(pts);
    List<RegisteredProject.Problem> problems = new ArrayList<>();
    new ProjectTypes(generate("projectPath-", 5), PrimaryType.PRIMARY_ID, Arrays.asList(notFoundMixin, PersistedMixin.PERSISTED_MIXIN_ID, NotPersistedMixin.NOT_PERSISTED_MIXIN_ID), reg, problems);
    assertEquals(problems.size(), 1);
    assertEquals(problems.get(0).code, 12);
}
Also used : ProjectTypeRegistry(org.eclipse.che.api.project.server.type.ProjectTypeRegistry) ArrayList(java.util.ArrayList) ProjectTypeDef(org.eclipse.che.api.project.server.type.ProjectTypeDef) HashSet(java.util.HashSet)

Example 5 with ProjectTypeRegistry

use of org.eclipse.che.api.project.server.type.ProjectTypeRegistry in project che by eclipse.

the class WsAgentTestBase method setUp.

public void setUp() throws Exception {
    if (workspaceHolder == null)
        workspaceHolder = new TestWorkspaceHolder();
    if (root == null)
        root = new File(FS_PATH);
    if (root.exists()) {
        IoUtil.deleteRecursive(root);
    }
    root.mkdir();
    File indexDir = new File(INDEX_PATH);
    if (indexDir.exists()) {
        IoUtil.deleteRecursive(indexDir);
    }
    indexDir.mkdir();
    Set<PathMatcher> filters = new HashSet<>();
    filters.add(path -> true);
    FSLuceneSearcherProvider sProvider = new FSLuceneSearcherProvider(indexDir, filters);
    vfsProvider = new LocalVirtualFileSystemProvider(root, sProvider);
    projectTypeRegistry = new ProjectTypeRegistry(new HashSet<>());
    projectTypeRegistry.registerProjectType(new PT1());
    projectHandlerRegistry = new ProjectHandlerRegistry(new HashSet<>());
    this.eventService = new EventService();
    projectRegistry = new ProjectRegistry(workspaceHolder, vfsProvider, projectTypeRegistry, projectHandlerRegistry, eventService);
    projectRegistry.initProjects();
    this.importerRegistry = new ProjectImporterRegistry(new HashSet<>());
    fileWatcherNotificationHandler = new DefaultFileWatcherNotificationHandler(vfsProvider);
    fileTreeWatcher = new FileTreeWatcher(root, new HashSet<>(), fileWatcherNotificationHandler);
    fileWatcherManager = mock(FileWatcherManager.class);
    TestWorkspaceHolder wsHolder = new TestWorkspaceHolder();
    pm = new ProjectManager(vfsProvider, projectTypeRegistry, projectRegistry, projectHandlerRegistry, importerRegistry, fileWatcherNotificationHandler, fileTreeWatcher, wsHolder, fileWatcherManager);
    pm.initWatcher();
}
Also used : ProjectTypeRegistry(org.eclipse.che.api.project.server.type.ProjectTypeRegistry) ProjectHandlerRegistry(org.eclipse.che.api.project.server.handlers.ProjectHandlerRegistry) ProjectImporterRegistry(org.eclipse.che.api.project.server.importer.ProjectImporterRegistry) LocalVirtualFileSystemProvider(org.eclipse.che.api.vfs.impl.file.LocalVirtualFileSystemProvider) EventService(org.eclipse.che.api.core.notification.EventService) FileWatcherManager(org.eclipse.che.api.vfs.watcher.FileWatcherManager) PathMatcher(java.nio.file.PathMatcher) DefaultFileWatcherNotificationHandler(org.eclipse.che.api.vfs.impl.file.DefaultFileWatcherNotificationHandler) FileTreeWatcher(org.eclipse.che.api.vfs.impl.file.FileTreeWatcher) File(java.io.File) HashSet(java.util.HashSet) FSLuceneSearcherProvider(org.eclipse.che.api.vfs.search.impl.FSLuceneSearcherProvider)

Aggregations

ProjectTypeRegistry (org.eclipse.che.api.project.server.type.ProjectTypeRegistry)14 HashSet (java.util.HashSet)11 File (java.io.File)8 ProjectHandlerRegistry (org.eclipse.che.api.project.server.handlers.ProjectHandlerRegistry)7 ProjectTypeDef (org.eclipse.che.api.project.server.type.ProjectTypeDef)7 ArrayList (java.util.ArrayList)6 PathMatcher (java.nio.file.PathMatcher)5 EventService (org.eclipse.che.api.core.notification.EventService)5 ProjectImporterRegistry (org.eclipse.che.api.project.server.importer.ProjectImporterRegistry)5 DefaultFileWatcherNotificationHandler (org.eclipse.che.api.vfs.impl.file.DefaultFileWatcherNotificationHandler)5 FileTreeWatcher (org.eclipse.che.api.vfs.impl.file.FileTreeWatcher)5 LocalVirtualFileSystemProvider (org.eclipse.che.api.vfs.impl.file.LocalVirtualFileSystemProvider)5 FSLuceneSearcherProvider (org.eclipse.che.api.vfs.search.impl.FSLuceneSearcherProvider)5 JavaProjectType (org.eclipse.che.plugin.java.server.projecttype.JavaProjectType)4 JavaValueProviderFactory (org.eclipse.che.plugin.java.server.projecttype.JavaValueProviderFactory)4 ProjectManager (org.eclipse.che.api.project.server.ProjectManager)3 ProjectRegistry (org.eclipse.che.api.project.server.ProjectRegistry)3 FileWatcherNotificationHandler (org.eclipse.che.api.vfs.impl.file.FileWatcherNotificationHandler)3 Before (org.junit.Before)3 ProjectConfig (org.eclipse.che.api.core.model.project.ProjectConfig)2