Search in sources :

Example 1 with KieResourceResolver

use of org.kie.workbench.common.services.backend.project.KieResourceResolver in project kie-wb-common by kiegroup.

the class DataModelServiceConstructorTest method testConstructor.

@Test
public void testConstructor() throws IllegalArgumentException, FileSystemNotFoundException, SecurityException, URISyntaxException {
    final URL packageUrl = this.getClass().getResource("/DataModelServiceConstructorTest/src/main/java/t1p1");
    final RenameService renameService = mock(RenameService.class);
    final SaveAndRenameServiceImpl saveAndRenameService = mock(SaveAndRenameServiceImpl.class);
    RepositoryService repoService = mock(RepositoryService.class);
    IOService ioService = new IOServiceDotFileImpl();
    Collection<Role> roles = new ArrayList<>();
    Collection<Group> groups = new ArrayList<>();
    User user = new UserImpl("admin", roles, groups);
    SessionInfo sessionInfo = new SessionInfoImpl("admin", user);
    Instance<User> userInstance = mock(Instance.class);
    when(userInstance.get()).thenReturn(user);
    ConfigIOServiceProducer cfiosProducer = new ConfigIOServiceProducer();
    cfiosProducer.setup();
    IOService configIOService = cfiosProducer.configIOService();
    MetadataService metadataService = new MetadataServiceImpl(ioService, configIOService, sessionInfo);
    POMContentHandler pomContentHandler = new POMContentHandler();
    M2RepoServiceImpl m2RepoService = new M2RepoServiceImpl();
    POMService pomService = new POMServiceImpl(ioService, pomContentHandler, m2RepoService, metadataService);
    KModuleContentHandler moduleContentHandler = new KModuleContentHandler();
    CommentedOptionFactory commentedOptionFactory = new CommentedOptionFactoryImpl(sessionInfo);
    ProjectConfigurationContentHandler moduleConfigurationContentHandler = new ProjectConfigurationContentHandler();
    ProjectImportsService moduleImportsService = new ProjectImportsServiceImpl(ioService, moduleConfigurationContentHandler, renameService, saveAndRenameService);
    Event<NewModuleEvent> newModuleEvent = new EventSourceMock<>();
    Event<NewPackageEvent> newPackageEvent = new EventSourceMock<>();
    Event<RenameModuleEvent> renameModuleEvent = new EventSourceMock<>();
    Event<InvalidateDMOModuleCacheEvent> invalidateDMOCache = new EventSourceMock<>();
    PermissionTypeRegistry permissionTypeRegistry = new DefaultPermissionTypeRegistry();
    DotNamedPermissionType permissionType = new DotNamedPermissionType(REPOSITORY_TYPE.getName());
    permissionType.createPermission(REPOSITORY_TYPE, RepositoryAction.READ, true);
    permissionType.createPermission(REPOSITORY_TYPE, RepositoryAction.CREATE, true);
    permissionType.createPermission(REPOSITORY_TYPE, RepositoryAction.UPDATE, true);
    permissionType.createPermission(REPOSITORY_TYPE, RepositoryAction.DELETE, true);
    permissionTypeRegistry.register(permissionType);
    ModuleRepositoryResolver repositoryResolver = new ModuleRepositoryResolverImpl(ioService, null, null);
    FileDiscoveryService fileDiscoveryService = new FileDiscoveryServiceImpl();
    HackedKieModuleServiceImpl moduleService = null;
    HackedKModuleServiceImpl kModuleService = new HackedKModuleServiceImpl(ioService, moduleService, metadataService, moduleContentHandler);
    KieResourceResolver resourceResolver = new KieResourceResolver(ioService, pomService, commentedOptionFactory, kModuleService, resourcePathResolversInstance);
    ModuleSaver moduleSaver = null;
    moduleService = new HackedKieModuleServiceImpl(ioService, moduleSaver, pomService, repoService, newModuleEvent, newPackageEvent, renameModuleEvent, invalidateDMOCache, sessionInfo, commentedOptionFactory, mock(ModuleFinder.class), resourceResolver, repositoryResolver);
    ModuleRepositoriesContentHandler contentHandler = new ModuleRepositoriesContentHandler();
    ModuleRepositoriesService moduleRepositoriesService = new KieModuleRepositoriesServiceImpl(ioService, repositoryResolver, resourceResolver, contentHandler, commentedOptionFactory);
    DependencyService dependencyService = new DependencyServiceImpl();
    PackageNameSearchProvider packageNameSearchProvider = new PackageNameSearchProvider(dependencyService);
    PackageNameWhiteListLoader loader = new PackageNameWhiteListLoader(packageNameSearchProvider, ioService);
    MetadataServerSideService serverSideMetdataService = new MetadataServiceImpl(ioService, configIOService, sessionInfo);
    PackageNameWhiteListSaver saver = new PackageNameWhiteListSaver(ioService, serverSideMetdataService, commentedOptionFactory);
    PackageNameWhiteListService packageNameWhiteListService = new PackageNameWhiteListServiceImpl(ioService, moduleService, loader, saver);
    moduleSaver = new ModuleSaver(ioService, pomService, kModuleService, newModuleEvent, newPackageEvent, resourceResolver, moduleImportsService, moduleRepositoriesService, packageNameWhiteListService, commentedOptionFactory, sessionInfo);
    moduleService.setModuleSaver(moduleSaver);
    kModuleService.setModuleService(moduleService);
    ProjectImportsService importsService = new ProjectImportsServiceImpl(ioService, moduleConfigurationContentHandler, renameService, saveAndRenameService);
    Instance<BuildValidationHelper> buildValidationHelperBeans = null;
    Instance<Predicate<String>> classFilterBeans = null;
    HackedLRUModuleDependenciesClassLoaderCache dependenciesClassLoaderCache = new HackedLRUModuleDependenciesClassLoaderCache();
    LRUPomModelCache pomModelCache = new LRUPomModelCache();
    LRUBuilderCache builderCache = new LRUBuilderCache(ioService, moduleService, importsService, buildValidationHelperBeans, dependenciesClassLoaderCache, pomModelCache, packageNameWhiteListService, classFilterBeans);
    Instance<PostBuildHandler> handlerInstance = mock(Instance.class);
    Iterator<PostBuildHandler> mockIterator = mock(Iterator.class);
    when(handlerInstance.iterator()).thenReturn(mockIterator);
    when(mockIterator.hasNext()).thenReturn(false);
    DeploymentVerifier deploymentVerifier = new DeploymentVerifier(repositoryResolver, moduleRepositoriesService);
    BuildHelper buildHelper = new BuildHelper(pomService, m2RepoService, moduleService, deploymentVerifier, builderCache, handlerInstance, userInstance);
    PipelineRegistry pipelineRegistry = new InMemoryPipelineRegistry();
    BuildPipelineInitializer pipelineInitializer = new BuildPipelineInitializer(pipelineRegistry, getConfigExecutors(moduleService, buildHelper));
    BuildPipelineInvoker pipelineInvoker = new BuildPipelineInvoker(pipelineInitializer.getExecutor(), pipelineRegistry);
    BuildServiceHelper buildServiceHelper = new BuildServiceHelper(pipelineInvoker, deploymentVerifier);
    BuildService buildService = new BuildServiceImpl(moduleService, buildServiceHelper, builderCache);
    BuildInfoService buildInfoService = new BuildInfoService(buildService, builderCache);
    ModuleDataModelOracleBuilderProvider builderProvider = new ModuleDataModelOracleBuilderProvider(packageNameWhiteListService, importsService);
    LRUModuleDataModelOracleCache cacheModules = new LRUModuleDataModelOracleCache(builderProvider, moduleService, buildInfoService);
    dependenciesClassLoaderCache.setBuildInfoService(buildInfoService);
    LRUDataModelOracleCache cachePackages = new LRUDataModelOracleCache(ioService, fileDiscoveryService, cacheModules, moduleService, buildInfoService, dataModelExtensionProvider, new RawMVELEvaluator());
    DataModelService dataModelService = new DataModelServiceImpl(cachePackages, cacheModules, moduleService);
    final org.uberfire.java.nio.file.Path nioPackagePath = fs.getPath(packageUrl.toURI());
    final Path packagePath = Paths.convert(nioPackagePath);
    final ModuleDataModelOracle oracle = dataModelService.getModuleDataModel(packagePath);
    assertNotNull(oracle);
    assertEquals(4, oracle.getModuleModelFields().size());
    assertContains("t1p1.Bean1", oracle.getModuleModelFields().keySet());
    assertContains("t1p1.DRLBean", oracle.getModuleModelFields().keySet());
    assertContains("t1p2.Bean2", oracle.getModuleModelFields().keySet());
    assertContains("java.lang.String", oracle.getModuleModelFields().keySet());
    assertEquals(TypeSource.JAVA_PROJECT, oracle.getModuleTypeSources().get("t1p1.Bean1"));
    assertEquals(TypeSource.DECLARED, oracle.getModuleTypeSources().get("t1p1.DRLBean"));
    assertEquals(TypeSource.JAVA_PROJECT, oracle.getModuleTypeSources().get("t1p2.Bean2"));
    assertEquals(TypeSource.JAVA_PROJECT, oracle.getModuleTypeSources().get("java.lang.String"));
}
Also used : IOServiceDotFileImpl(org.uberfire.io.impl.IOServiceDotFileImpl) ProjectImportsService(org.kie.workbench.common.services.shared.project.ProjectImportsService) ArrayList(java.util.ArrayList) POMContentHandler(org.guvnor.common.services.project.backend.server.utils.POMContentHandler) KieResourceResolver(org.kie.workbench.common.services.backend.project.KieResourceResolver) MetadataServerSideService(org.guvnor.common.services.backend.metadata.MetadataServerSideService) Predicate(java.util.function.Predicate) ProjectImportsServiceImpl(org.kie.workbench.common.services.backend.project.ProjectImportsServiceImpl) PackageNameSearchProvider(org.kie.workbench.common.services.backend.whitelist.PackageNameSearchProvider) RawMVELEvaluator(org.kie.soup.project.datamodel.commons.util.RawMVELEvaluator) ModuleDataModelOracleBuilderProvider(org.kie.workbench.common.services.datamodel.backend.server.cache.ModuleDataModelOracleBuilderProvider) DefaultPermissionTypeRegistry(org.uberfire.security.impl.authz.DefaultPermissionTypeRegistry) FileDiscoveryServiceImpl(org.guvnor.common.services.backend.file.FileDiscoveryServiceImpl) BuildPipelineInvoker(org.kie.workbench.common.services.backend.builder.ala.BuildPipelineInvoker) KieModuleRepositoriesServiceImpl(org.kie.workbench.common.services.backend.project.KieModuleRepositoriesServiceImpl) FileDiscoveryService(org.guvnor.common.services.backend.file.FileDiscoveryService) Role(org.jboss.errai.security.shared.api.Role) LRUPomModelCache(org.kie.workbench.common.services.backend.builder.core.LRUPomModelCache) BuildServiceHelper(org.kie.workbench.common.services.backend.builder.service.BuildServiceHelper) ModuleRepositoriesContentHandler(org.guvnor.common.services.project.backend.server.ModuleRepositoriesContentHandler) BuildHelper(org.kie.workbench.common.services.backend.builder.core.BuildHelper) RenameModuleEvent(org.guvnor.common.services.project.events.RenameModuleEvent) DefaultPermissionTypeRegistry(org.uberfire.security.impl.authz.DefaultPermissionTypeRegistry) PermissionTypeRegistry(org.uberfire.security.authz.PermissionTypeRegistry) ModuleRepositoryResolverImpl(org.guvnor.common.services.project.backend.server.ModuleRepositoryResolverImpl) BuildServiceImpl(org.kie.workbench.common.services.backend.builder.service.BuildServiceImpl) BuildValidationHelper(org.guvnor.common.services.project.builder.service.BuildValidationHelper) Group(org.jboss.errai.security.shared.api.Group) CommentedOptionFactory(org.guvnor.common.services.backend.util.CommentedOptionFactory) User(org.jboss.errai.security.shared.api.identity.User) BuildService(org.guvnor.common.services.project.builder.service.BuildService) POMServiceImpl(org.guvnor.common.services.project.backend.server.POMServiceImpl) SessionInfo(org.uberfire.rpc.SessionInfo) MetadataServiceImpl(org.guvnor.common.services.backend.metadata.MetadataServiceImpl) EventSourceMock(org.uberfire.mocks.EventSourceMock) ModuleRepositoriesService(org.guvnor.common.services.project.service.ModuleRepositoriesService) DependencyService(org.kie.workbench.common.services.shared.dependencies.DependencyService) BuildPipelineInitializer(org.kie.workbench.common.services.backend.builder.ala.BuildPipelineInitializer) URL(java.net.URL) SessionInfoImpl(org.uberfire.rpc.impl.SessionInfoImpl) MetadataService(org.guvnor.common.services.shared.metadata.MetadataService) InMemoryPipelineRegistry(org.guvnor.ala.registry.inmemory.InMemoryPipelineRegistry) PipelineRegistry(org.guvnor.ala.registry.PipelineRegistry) SaveAndRenameServiceImpl(org.uberfire.ext.editor.commons.backend.service.SaveAndRenameServiceImpl) PackageNameWhiteListServiceImpl(org.kie.workbench.common.services.backend.whitelist.PackageNameWhiteListServiceImpl) IOService(org.uberfire.io.IOService) NewPackageEvent(org.guvnor.common.services.project.events.NewPackageEvent) BuildInfoService(org.kie.workbench.common.services.backend.builder.service.BuildInfoService) UserImpl(org.jboss.errai.security.shared.api.identity.UserImpl) DotNamedPermissionType(org.uberfire.security.impl.authz.DotNamedPermissionType) KModuleContentHandler(org.kie.workbench.common.services.backend.kmodule.KModuleContentHandler) PostBuildHandler(org.guvnor.common.services.project.builder.service.PostBuildHandler) RepositoryService(org.guvnor.structure.repositories.RepositoryService) LRUModuleDataModelOracleCache(org.kie.workbench.common.services.datamodel.backend.server.cache.LRUModuleDataModelOracleCache) Path(org.uberfire.backend.vfs.Path) PackageNameWhiteListService(org.kie.workbench.common.services.shared.whitelist.PackageNameWhiteListService) InvalidateDMOModuleCacheEvent(org.guvnor.common.services.project.builder.events.InvalidateDMOModuleCacheEvent) LRUBuilderCache(org.kie.workbench.common.services.backend.builder.core.LRUBuilderCache) ModuleDataModelOracle(org.kie.soup.project.datamodel.oracle.ModuleDataModelOracle) ModuleSaver(org.kie.workbench.common.services.backend.project.ModuleSaver) RenameService(org.uberfire.ext.editor.commons.service.RenameService) PackageNameWhiteListLoader(org.kie.workbench.common.services.backend.whitelist.PackageNameWhiteListLoader) InMemoryPipelineRegistry(org.guvnor.ala.registry.inmemory.InMemoryPipelineRegistry) POMService(org.guvnor.common.services.project.service.POMService) ConfigIOServiceProducer(org.uberfire.backend.server.io.ConfigIOServiceProducer) NewModuleEvent(org.guvnor.common.services.project.events.NewModuleEvent) DeploymentVerifier(org.kie.workbench.common.services.backend.builder.core.DeploymentVerifier) LRUDataModelOracleCache(org.kie.workbench.common.services.datamodel.backend.server.cache.LRUDataModelOracleCache) M2RepoServiceImpl(org.guvnor.m2repo.backend.server.M2RepoServiceImpl) DependencyServiceImpl(org.kie.workbench.common.services.backend.dependencies.DependencyServiceImpl) ProjectConfigurationContentHandler(org.guvnor.common.services.project.backend.server.ProjectConfigurationContentHandler) PackageNameWhiteListSaver(org.kie.workbench.common.services.backend.whitelist.PackageNameWhiteListSaver) ModuleRepositoryResolver(org.guvnor.common.services.project.service.ModuleRepositoryResolver) DataModelService(org.kie.workbench.common.services.datamodel.backend.server.service.DataModelService) CommentedOptionFactoryImpl(org.guvnor.common.services.backend.util.CommentedOptionFactoryImpl) Test(org.junit.Test)

Aggregations

URL (java.net.URL)1 ArrayList (java.util.ArrayList)1 Predicate (java.util.function.Predicate)1 PipelineRegistry (org.guvnor.ala.registry.PipelineRegistry)1 InMemoryPipelineRegistry (org.guvnor.ala.registry.inmemory.InMemoryPipelineRegistry)1 FileDiscoveryService (org.guvnor.common.services.backend.file.FileDiscoveryService)1 FileDiscoveryServiceImpl (org.guvnor.common.services.backend.file.FileDiscoveryServiceImpl)1 MetadataServerSideService (org.guvnor.common.services.backend.metadata.MetadataServerSideService)1 MetadataServiceImpl (org.guvnor.common.services.backend.metadata.MetadataServiceImpl)1 CommentedOptionFactory (org.guvnor.common.services.backend.util.CommentedOptionFactory)1 CommentedOptionFactoryImpl (org.guvnor.common.services.backend.util.CommentedOptionFactoryImpl)1 ModuleRepositoriesContentHandler (org.guvnor.common.services.project.backend.server.ModuleRepositoriesContentHandler)1 ModuleRepositoryResolverImpl (org.guvnor.common.services.project.backend.server.ModuleRepositoryResolverImpl)1 POMServiceImpl (org.guvnor.common.services.project.backend.server.POMServiceImpl)1 ProjectConfigurationContentHandler (org.guvnor.common.services.project.backend.server.ProjectConfigurationContentHandler)1 POMContentHandler (org.guvnor.common.services.project.backend.server.utils.POMContentHandler)1 InvalidateDMOModuleCacheEvent (org.guvnor.common.services.project.builder.events.InvalidateDMOModuleCacheEvent)1 BuildService (org.guvnor.common.services.project.builder.service.BuildService)1 BuildValidationHelper (org.guvnor.common.services.project.builder.service.BuildValidationHelper)1 PostBuildHandler (org.guvnor.common.services.project.builder.service.PostBuildHandler)1