Search in sources :

Example 1 with EasyCrudService

use of org.summerb.approaches.jdbccrud.api.EasyCrudService in project summerb by skarpushin.

the class DataSetLoaderImplTest method testLoadObjectsByIds_ExpectManyLoadByStrings.

@Test
public void testLoadObjectsByIds_ExpectManyLoadByStrings() throws Exception {
    DataSetLoaderImpl fixture = buildMockedInstance();
    EasyCrudService service = Mockito.mock(EasyCrudService.class);
    when(fixture.getEasyCrudServiceResolver().resolveByEntityType("dto1")).thenReturn(service);
    Matcher<Query> matcher = IsEqual.equalTo(Query.n().in(HasId.FN_ID, new String[] { "s1", "s2" }));
    PaginatedList mockret = new PaginatedList<>(new PagerParams(), Arrays.asList(new TestDto1(), new TestDto1()), 2);
    when(service.query(any(PagerParams.class), argThat(matcher))).thenReturn(mockret);
    List<HasId> ret = fixture.loadObjectsByIds(ids("s1", "s2"), "dto1");
    assertNotNull(ret);
    assertEquals(2, ret.size());
}
Also used : HasId(org.summerb.approaches.jdbccrud.api.dto.HasId) DataSetLoaderImpl(org.summerb.approaches.jdbccrud.impl.relations.DataSetLoaderImpl) EasyCrudService(org.summerb.approaches.jdbccrud.api.EasyCrudService) Query(org.summerb.approaches.jdbccrud.api.query.Query) PagerParams(org.summerb.approaches.jdbccrud.api.dto.PagerParams) PaginatedList(org.summerb.approaches.jdbccrud.api.dto.PaginatedList) TestDto1(integr.org.summerb.jdbccrud.TestDto1) Test(org.junit.Test)

Example 2 with EasyCrudService

use of org.summerb.approaches.jdbccrud.api.EasyCrudService in project summerb by skarpushin.

the class DataSetLoaderImplTest method testLoadObjectsByIds_ExpectManyLoadByUnknownType.

@Test
public void testLoadObjectsByIds_ExpectManyLoadByUnknownType() throws Exception {
    DataSetLoaderImpl fixture = buildMockedInstance();
    EasyCrudService service = Mockito.mock(EasyCrudService.class);
    when(fixture.getEasyCrudServiceResolver().resolveByEntityType("dto1")).thenReturn(service);
    UUID d1 = UUID.randomUUID();
    UUID d2 = UUID.randomUUID();
    when(service.findById(d1)).thenReturn(new TestDto1());
    when(service.findById(d2)).thenReturn(new TestDto1());
    List<HasId> ret = fixture.loadObjectsByIds(ids(d1, d2), "dto1");
    assertNotNull(ret);
    assertEquals(2, ret.size());
}
Also used : HasId(org.summerb.approaches.jdbccrud.api.dto.HasId) DataSetLoaderImpl(org.summerb.approaches.jdbccrud.impl.relations.DataSetLoaderImpl) EasyCrudService(org.summerb.approaches.jdbccrud.api.EasyCrudService) UUID(java.util.UUID) TestDto1(integr.org.summerb.jdbccrud.TestDto1) Test(org.junit.Test)

Example 3 with EasyCrudService

use of org.summerb.approaches.jdbccrud.api.EasyCrudService in project summerb by skarpushin.

the class DataSetLoaderImplTest method testLoadObjectsByIds_ExpectManyLoadByLongsOk.

@Test
public void testLoadObjectsByIds_ExpectManyLoadByLongsOk() throws Exception {
    DataSetLoaderImpl fixture = buildMockedInstance();
    EasyCrudService service = Mockito.mock(EasyCrudService.class);
    when(fixture.getEasyCrudServiceResolver().resolveByEntityType("dto1")).thenReturn(service);
    Matcher<Query> matcher = IsEqual.equalTo(Query.n().in(HasId.FN_ID, new Long[] { 1L, 2L }));
    PaginatedList mockret = new PaginatedList<>(new PagerParams(), Arrays.asList(new TestDto1(), new TestDto1()), 2);
    when(service.query(any(PagerParams.class), argThat(matcher))).thenReturn(mockret);
    List<HasId> ret = fixture.loadObjectsByIds(ids(1L, 2L), "dto1");
    assertNotNull(ret);
    assertEquals(2, ret.size());
}
Also used : HasId(org.summerb.approaches.jdbccrud.api.dto.HasId) DataSetLoaderImpl(org.summerb.approaches.jdbccrud.impl.relations.DataSetLoaderImpl) EasyCrudService(org.summerb.approaches.jdbccrud.api.EasyCrudService) Query(org.summerb.approaches.jdbccrud.api.query.Query) PagerParams(org.summerb.approaches.jdbccrud.api.dto.PagerParams) PaginatedList(org.summerb.approaches.jdbccrud.api.dto.PaginatedList) TestDto1(integr.org.summerb.jdbccrud.TestDto1) Test(org.junit.Test)

Example 4 with EasyCrudService

use of org.summerb.approaches.jdbccrud.api.EasyCrudService in project summerb by skarpushin.

the class DataSetLoaderImplTest method testLoadObjectsByIds_ExpectOneLoadOk.

@Test
public void testLoadObjectsByIds_ExpectOneLoadOk() throws Exception {
    DataSetLoaderImpl fixture = buildMockedInstance();
    EasyCrudService service = Mockito.mock(EasyCrudService.class);
    when(fixture.getEasyCrudServiceResolver().resolveByEntityType("dto1")).thenReturn(service);
    TestDto1 dto = new TestDto1();
    when(service.findById(1)).thenReturn(dto);
    List<HasId> ret = fixture.loadObjectsByIds(ids(1), "dto1");
    assertNotNull(ret);
    assertEquals(1, ret.size());
    assertEquals(dto, ret.get(0));
}
Also used : HasId(org.summerb.approaches.jdbccrud.api.dto.HasId) DataSetLoaderImpl(org.summerb.approaches.jdbccrud.impl.relations.DataSetLoaderImpl) EasyCrudService(org.summerb.approaches.jdbccrud.api.EasyCrudService) TestDto1(integr.org.summerb.jdbccrud.TestDto1) Test(org.junit.Test)

Example 5 with EasyCrudService

use of org.summerb.approaches.jdbccrud.api.EasyCrudService in project summerb by skarpushin.

the class DataSetLoaderImpl method loadManyToManyReferences.

private ManyToManyRefToReferenceesMap loadManyToManyReferences(Map<Ref, Set<Object>> manyToManyReferences) {
    // NOTE: Queries to same types of referencees are not grouped. Should we
    // impl this like we did for one2many?
    ManyToManyRefToReferenceesMap ret = new ManyToManyRefToReferenceesMap();
    for (Entry<Ref, Set<Object>> refToReferencersEntry : manyToManyReferences.entrySet()) {
        EasyCrudService m2mServiceTmp = easyCrudServiceResolver.resolveByEntityType(refToReferencersEntry.getKey().getM2mEntity());
        Preconditions.checkState(m2mServiceTmp instanceof EasyCrudM2mService);
        EasyCrudM2mService m2mService = (EasyCrudM2mService) m2mServiceTmp;
        Map<Object, List<HasId>> referenceeMap = m2mService.findReferenceeByReferencers(refToReferencersEntry.getValue());
        ret.put(refToReferencersEntry.getKey(), referenceeMap);
    }
    return ret;
}
Also used : Ref(org.summerb.approaches.jdbccrud.api.dto.relations.Ref) EasyCrudService(org.summerb.approaches.jdbccrud.api.EasyCrudService) HashSet(java.util.HashSet) Set(java.util.Set) DataSet(org.summerb.approaches.jdbccrud.api.dto.datapackage.DataSet) EasyCrudM2mService(org.summerb.approaches.jdbccrud.api.relations.EasyCrudM2mService) ArrayList(java.util.ArrayList) LinkedList(java.util.LinkedList) PaginatedList(org.summerb.approaches.jdbccrud.api.dto.PaginatedList) List(java.util.List)

Aggregations

EasyCrudService (org.summerb.approaches.jdbccrud.api.EasyCrudService)16 Test (org.junit.Test)8 HasId (org.summerb.approaches.jdbccrud.api.dto.HasId)7 DataSetLoaderImpl (org.summerb.approaches.jdbccrud.impl.relations.DataSetLoaderImpl)7 TestDto1 (integr.org.summerb.jdbccrud.TestDto1)5 PaginatedList (org.summerb.approaches.jdbccrud.api.dto.PaginatedList)5 Query (org.summerb.approaches.jdbccrud.api.query.Query)5 ArrayList (java.util.ArrayList)3 HashMap (java.util.HashMap)3 HashSet (java.util.HashSet)3 Set (java.util.Set)3 PagerParams (org.summerb.approaches.jdbccrud.api.dto.PagerParams)3 DataSet (org.summerb.approaches.jdbccrud.api.dto.datapackage.DataSet)3 LinkedList (java.util.LinkedList)2 List (java.util.List)2 Ref (org.summerb.approaches.jdbccrud.api.dto.relations.Ref)2 TestDto2 (integr.org.summerb.jdbccrud.TestDto2)1 Entry (java.util.Map.Entry)1 UUID (java.util.UUID)1 DataTable (org.summerb.approaches.jdbccrud.api.dto.datapackage.DataTable)1