Search in sources :

Example 1 with Module

use of io.crnk.core.module.Module in project crnk-framework by crnk-project.

the class ValidationClientModuleFactoryTest method test.

@Test
public void test() {
    ServiceLoader<ClientModuleFactory> loader = ServiceLoader.load(ClientModuleFactory.class);
    Iterator<ClientModuleFactory> iterator = loader.iterator();
    Set<Class> moduleClasses = new HashSet<>();
    while (iterator.hasNext()) {
        ClientModuleFactory moduleFactory = iterator.next();
        Module module = moduleFactory.create();
        moduleClasses.add(module.getClass());
    }
    Assert.assertEquals(2, moduleClasses.size());
    Assert.assertTrue(moduleClasses.contains(ValidationModule.class));
    Assert.assertTrue(moduleClasses.contains(MetaModule.class));
}
Also used : ClientModuleFactory(io.crnk.client.module.ClientModuleFactory) Module(io.crnk.core.module.Module) MetaModule(io.crnk.meta.MetaModule) ValidationModule(io.crnk.validation.ValidationModule) ValidationModule(io.crnk.validation.ValidationModule) MetaModule(io.crnk.meta.MetaModule) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 2 with Module

use of io.crnk.core.module.Module in project crnk-framework by crnk-project.

the class CrnkClient method findModules.

/**
 * Finds and registers modules on the classpath trough the use of java.util.ServiceLoader.
 * Each module can register itself for lookup by registering a ClientModuleFactory.
 */
public void findModules() {
    ServiceLoader<ClientModuleFactory> loader = ServiceLoader.load(ClientModuleFactory.class);
    Iterator<ClientModuleFactory> iterator = loader.iterator();
    while (iterator.hasNext()) {
        ClientModuleFactory factory = iterator.next();
        Module module = factory.create();
        addModule(module);
    }
}
Also used : ClientModuleFactory(io.crnk.client.module.ClientModuleFactory) Module(io.crnk.core.module.Module) JacksonModule(io.crnk.core.engine.internal.jackson.JacksonModule) ClientModule(io.crnk.client.module.ClientModule)

Example 3 with Module

use of io.crnk.core.module.Module in project crnk-framework by crnk-project.

the class JsonApiRequestProcessorTest method setup.

@Before
public void setup() {
    TaskRepository.clear();
    boot = new CrnkBoot();
    boot.addModule(new Module() {

        @Override
        public String getModuleName() {
            return "test";
        }

        @Override
        public void setupModule(ModuleContext context) {
            moduleContext = context;
        }
    });
    boot.setServiceUrlProvider(new ConstantServiceUrlProvider("http://localhost:8080"));
    boot.setServiceDiscovery(new ReflectionsServiceDiscovery(MockConstants.TEST_MODELS_PACKAGE));
    boot.boot();
    Task task = new Task();
    task.setId(1L);
    task.setName("SomeTask");
    task.setLinksInformation(new TaskLinks());
    TaskRepository tasks = new TaskRepository();
    tasks.save(task);
    processor = new JsonApiRequestProcessor(moduleContext);
    requestContextBase = Mockito.mock(HttpRequestContextBase.class);
    requestContext = new HttpRequestContextBaseAdapter(requestContextBase);
    HttpRequestContextProvider requestContextProvider = boot.getModuleRegistry().getHttpRequestContextProvider();
    requestContextProvider.onRequestStarted(requestContext);
}
Also used : HttpRequestContextBaseAdapter(io.crnk.core.engine.internal.http.HttpRequestContextBaseAdapter) Task(io.crnk.core.mock.models.Task) TaskRepository(io.crnk.core.mock.repository.TaskRepository) JsonApiRequestProcessor(io.crnk.core.engine.internal.http.JsonApiRequestProcessor) CrnkBoot(io.crnk.core.boot.CrnkBoot) ConstantServiceUrlProvider(io.crnk.core.engine.url.ConstantServiceUrlProvider) ReflectionsServiceDiscovery(io.crnk.core.module.discovery.ReflectionsServiceDiscovery) Module(io.crnk.core.module.Module) TaskLinks(io.crnk.core.mock.models.TaskLinks) Before(org.junit.Before)

Example 4 with Module

use of io.crnk.core.module.Module in project crnk-framework by crnk-project.

the class CrnkBootTest method boot.

@Test
public void boot() {
    CrnkBoot boot = new CrnkBoot();
    boot.setDefaultServiceUrlProvider(new ServiceUrlProvider() {

        @Override
        public String getUrl() {
            return "http://127.0.0.1";
        }
    });
    boot.setServiceDiscovery(new ReflectionsServiceDiscovery(MockConstants.TEST_MODELS_PACKAGE));
    boot.addModule(new SimpleModule("test"));
    boot.boot();
    RequestDispatcher requestDispatcher = boot.getRequestDispatcher();
    ResourceRegistry resourceRegistry = boot.getResourceRegistry();
    RegistryEntry taskEntry = resourceRegistry.getEntry(Task.class);
    Assert.assertNotEquals(0, taskEntry.getRelationshipEntries().size());
    ResourceRepositoryAdapter<?, ?> repositoryAdapter = taskEntry.getResourceRepository(null);
    Assert.assertNotNull(repositoryAdapter.getResourceRepository());
    JsonApiResponse response = repositoryAdapter.findAll(new QueryParamsAdapter(taskEntry.getResourceInformation(), new QueryParams(), boot.getModuleRegistry()));
    Assert.assertNotNull(response);
    Assert.assertNotNull(requestDispatcher);
    ServiceDiscovery serviceDiscovery = boot.getServiceDiscovery();
    Assert.assertNotNull(serviceDiscovery);
    Assert.assertNotNull(boot.getModuleRegistry());
    Assert.assertNotNull(boot.getExceptionMapperRegistry());
    List<Module> modules = boot.getModuleRegistry().getModules();
    Assert.assertEquals(4, modules.size());
    boot.setDefaultPageLimit(20L);
    boot.setMaxPageLimit(100L);
    Assert.assertEquals(1, boot.getPagingBehaviors().size());
    Assert.assertTrue(boot.getPagingBehaviors().get(0) instanceof OffsetLimitPagingBehavior);
}
Also used : OffsetLimitPagingBehavior(io.crnk.core.queryspec.pagingspec.OffsetLimitPagingBehavior) ConstantServiceUrlProvider(io.crnk.core.engine.url.ConstantServiceUrlProvider) ServiceUrlProvider(io.crnk.core.engine.url.ServiceUrlProvider) ResourceRegistry(io.crnk.core.engine.registry.ResourceRegistry) RegistryEntry(io.crnk.core.engine.registry.RegistryEntry) RequestDispatcher(io.crnk.core.engine.dispatcher.RequestDispatcher) JsonApiResponse(io.crnk.core.repository.response.JsonApiResponse) QueryParams(io.crnk.legacy.queryParams.QueryParams) ReflectionsServiceDiscovery(io.crnk.core.module.discovery.ReflectionsServiceDiscovery) QueryParamsAdapter(io.crnk.legacy.internal.QueryParamsAdapter) SimpleModule(io.crnk.core.module.SimpleModule) Module(io.crnk.core.module.Module) SimpleModule(io.crnk.core.module.SimpleModule) ServiceDiscovery(io.crnk.core.module.discovery.ServiceDiscovery) ReflectionsServiceDiscovery(io.crnk.core.module.discovery.ReflectionsServiceDiscovery) Test(org.junit.Test)

Example 5 with Module

use of io.crnk.core.module.Module in project crnk-framework by crnk-project.

the class JpaClientModuleFactoryTest method test.

@Test
public void test() {
    ServiceLoader<ClientModuleFactory> loader = ServiceLoader.load(ClientModuleFactory.class);
    Iterator<ClientModuleFactory> iterator = loader.iterator();
    Set<Class> moduleClasses = new HashSet<>();
    while (iterator.hasNext()) {
        ClientModuleFactory moduleFactory = iterator.next();
        Module module = moduleFactory.create();
        moduleClasses.add(module.getClass());
    }
    Assert.assertEquals(2, moduleClasses.size());
    Assert.assertTrue(moduleClasses.contains(JpaModule.class));
    Assert.assertTrue(moduleClasses.contains(MetaModule.class));
}
Also used : ClientModuleFactory(io.crnk.client.module.ClientModuleFactory) JpaModule(io.crnk.jpa.JpaModule) Module(io.crnk.core.module.Module) MetaModule(io.crnk.meta.MetaModule) MetaModule(io.crnk.meta.MetaModule) HashSet(java.util.HashSet) JpaModule(io.crnk.jpa.JpaModule) Test(org.junit.Test)

Aggregations

Module (io.crnk.core.module.Module)12 Test (org.junit.Test)8 ClientModuleFactory (io.crnk.client.module.ClientModuleFactory)5 JacksonModule (io.crnk.core.engine.internal.jackson.JacksonModule)5 ConstantServiceUrlProvider (io.crnk.core.engine.url.ConstantServiceUrlProvider)3 SimpleModule (io.crnk.core.module.SimpleModule)3 CrnkClient (io.crnk.client.CrnkClient)2 ClientModule (io.crnk.client.module.ClientModule)2 ServiceUrlProvider (io.crnk.core.engine.url.ServiceUrlProvider)2 ReflectionsServiceDiscovery (io.crnk.core.module.discovery.ReflectionsServiceDiscovery)2 MetaModule (io.crnk.meta.MetaModule)2 HashSet (java.util.HashSet)2 HttpAdapterAware (io.crnk.client.module.HttpAdapterAware)1 CrnkBoot (io.crnk.core.boot.CrnkBoot)1 RequestDispatcher (io.crnk.core.engine.dispatcher.RequestDispatcher)1 JsonApiExceptionMapper (io.crnk.core.engine.error.JsonApiExceptionMapper)1 DocumentFilter (io.crnk.core.engine.filter.DocumentFilter)1 CoreModule (io.crnk.core.engine.internal.CoreModule)1 HttpRequestContextBaseAdapter (io.crnk.core.engine.internal.http.HttpRequestContextBaseAdapter)1 JsonApiRequestProcessor (io.crnk.core.engine.internal.http.JsonApiRequestProcessor)1