Search in sources :

Example 1 with ImplicitOwnerBasedRelationshipRepository

use of io.crnk.core.repository.implicit.ImplicitOwnerBasedRelationshipRepository in project crnk-framework by crnk-project.

the class ImplicitOwnerBasedRelationshipRepositoryTest method setup.

@Before
public void setup() {
    MockRepositoryUtil.clear();
    CrnkBoot boot = new CrnkBoot();
    boot.setServiceDiscovery(new ReflectionsServiceDiscovery(MockConstants.TEST_MODELS_PACKAGE));
    boot.setServiceUrlProvider(new ConstantServiceUrlProvider(ResourceRegistryTest.TEST_MODELS_URL));
    boot.boot();
    resourceRegistry = boot.getResourceRegistry();
    RegistryEntry entry = resourceRegistry.getEntry(RelationIdTestResource.class);
    relRepository = new ImplicitOwnerBasedRelationshipRepository(RelationIdTestResource.class, Schedule.class);
    relRepository.setResourceRegistry(resourceRegistry);
    taskProjectRepository = new ImplicitOwnerBasedRelationshipRepository(Task.class, Project.class);
    taskProjectRepository.setResourceRegistry(resourceRegistry);
    testRepository = (RelationIdTestRepository) entry.getResourceRepository().getResourceRepository();
    testRepository.setResourceRegistry(resourceRegistry);
    resource = new RelationIdTestResource();
    resource.setId(2L);
    resource.setName("relationId");
    testRepository.create(resource);
    scheduleRepository = new ScheduleRepositoryImpl();
    schedule3 = new Schedule();
    schedule3.setId(3L);
    schedule3.setName("schedule");
    scheduleRepository.create(schedule3);
    for (int i = 0; i < 10; i++) {
        schedule = new Schedule();
        schedule.setId(4L + i);
        schedule.setName("schedule");
        scheduleRepository.create(schedule);
        projectRepository = new ProjectRepository();
        project = new Project();
        project.setId(42L + i);
        project.setName("project");
        projectRepository.save(project);
        taskRepository = new TaskRepository();
        task = new Task();
        task.setId(13L + i);
        task.setName("task");
        taskRepository.save(task);
    }
}
Also used : Task(io.crnk.core.mock.models.Task) ProjectRepository(io.crnk.core.mock.repository.ProjectRepository) TaskRepository(io.crnk.core.mock.repository.TaskRepository) RegistryEntry(io.crnk.core.engine.registry.RegistryEntry) ScheduleRepositoryImpl(io.crnk.core.mock.repository.ScheduleRepositoryImpl) Project(io.crnk.core.mock.models.Project) CrnkBoot(io.crnk.core.boot.CrnkBoot) ImplicitOwnerBasedRelationshipRepository(io.crnk.core.repository.implicit.ImplicitOwnerBasedRelationshipRepository) Schedule(io.crnk.core.mock.models.Schedule) ReflectionsServiceDiscovery(io.crnk.core.module.discovery.ReflectionsServiceDiscovery) ConstantServiceUrlProvider(io.crnk.core.engine.url.ConstantServiceUrlProvider) RelationIdTestResource(io.crnk.core.mock.models.RelationIdTestResource) Before(org.junit.Before)

Example 2 with ImplicitOwnerBasedRelationshipRepository

use of io.crnk.core.repository.implicit.ImplicitOwnerBasedRelationshipRepository in project crnk-framework by crnk-project.

the class ImplicitOwnerBasedRelationshipRepositoryTest method testSourceOnlyClassConstructor.

@Test
public void testSourceOnlyClassConstructor() {
    RegistryEntry entry = resourceRegistry.getEntry(RelationIdTestResource.class);
    ResourceField otherField = entry.getResourceInformation().findFieldByUnderlyingName("testNested");
    ResourceField relField = entry.getResourceInformation().findRelationshipFieldByName("testSerializeEager");
    ImplicitOwnerBasedRelationshipRepository repo = new ImplicitOwnerBasedRelationshipRepository(RelationIdTestResource.class);
    repo.setResourceRegistry(resourceRegistry);
    Assert.assertTrue(repo.getMatcher().matches(otherField));
    Assert.assertTrue(repo.getMatcher().matches(relField));
    relRepository.setRelation(resource, 3L, "testSerializeEager");
    Assert.assertEquals(3L, resource.getTestSerializeEagerId().longValue());
    Assert.assertNull(resource.getTestSerializeEager());
    Assert.assertSame(schedule3, relRepository.findOneTarget(resource.getId(), "testSerializeEager", new QuerySpec(Schedule.class)));
}
Also used : ResourceField(io.crnk.core.engine.information.resource.ResourceField) ImplicitOwnerBasedRelationshipRepository(io.crnk.core.repository.implicit.ImplicitOwnerBasedRelationshipRepository) QuerySpec(io.crnk.core.queryspec.QuerySpec) RegistryEntry(io.crnk.core.engine.registry.RegistryEntry) ResourceRegistryTest(io.crnk.core.resource.registry.ResourceRegistryTest) Test(org.junit.Test)

Example 3 with ImplicitOwnerBasedRelationshipRepository

use of io.crnk.core.repository.implicit.ImplicitOwnerBasedRelationshipRepository in project crnk-framework by crnk-project.

the class ImplicitOwnerBasedRelationshipRepositoryTest method testSourceTargetResourceTypeConstructor.

@Test
public void testSourceTargetResourceTypeConstructor() {
    RegistryEntry entry = resourceRegistry.getEntry(RelationIdTestResource.class);
    ResourceField otherField = entry.getResourceInformation().findFieldByUnderlyingName("testNested");
    ResourceField relField = entry.getResourceInformation().findRelationshipFieldByName("testSerializeEager");
    ImplicitOwnerBasedRelationshipRepository repo = new ImplicitOwnerBasedRelationshipRepository("relationIdTest", "schedules");
    repo.setResourceRegistry(resourceRegistry);
    Assert.assertFalse(repo.getMatcher().matches(otherField));
    Assert.assertTrue(repo.getMatcher().matches(relField));
    relRepository.setRelation(resource, 3L, "testSerializeEager");
    Assert.assertEquals(3L, resource.getTestSerializeEagerId().longValue());
    Assert.assertNull(resource.getTestSerializeEager());
    Assert.assertSame(schedule3, relRepository.findOneTarget(resource.getId(), "testSerializeEager", new QuerySpec(Schedule.class)));
}
Also used : ResourceField(io.crnk.core.engine.information.resource.ResourceField) ImplicitOwnerBasedRelationshipRepository(io.crnk.core.repository.implicit.ImplicitOwnerBasedRelationshipRepository) QuerySpec(io.crnk.core.queryspec.QuerySpec) RegistryEntry(io.crnk.core.engine.registry.RegistryEntry) ResourceRegistryTest(io.crnk.core.resource.registry.ResourceRegistryTest) Test(org.junit.Test)

Aggregations

RegistryEntry (io.crnk.core.engine.registry.RegistryEntry)3 ImplicitOwnerBasedRelationshipRepository (io.crnk.core.repository.implicit.ImplicitOwnerBasedRelationshipRepository)3 ResourceField (io.crnk.core.engine.information.resource.ResourceField)2 QuerySpec (io.crnk.core.queryspec.QuerySpec)2 ResourceRegistryTest (io.crnk.core.resource.registry.ResourceRegistryTest)2 Test (org.junit.Test)2 CrnkBoot (io.crnk.core.boot.CrnkBoot)1 ConstantServiceUrlProvider (io.crnk.core.engine.url.ConstantServiceUrlProvider)1 Project (io.crnk.core.mock.models.Project)1 RelationIdTestResource (io.crnk.core.mock.models.RelationIdTestResource)1 Schedule (io.crnk.core.mock.models.Schedule)1 Task (io.crnk.core.mock.models.Task)1 ProjectRepository (io.crnk.core.mock.repository.ProjectRepository)1 ScheduleRepositoryImpl (io.crnk.core.mock.repository.ScheduleRepositoryImpl)1 TaskRepository (io.crnk.core.mock.repository.TaskRepository)1 ReflectionsServiceDiscovery (io.crnk.core.module.discovery.ReflectionsServiceDiscovery)1 Before (org.junit.Before)1