mirror of
https://github.com/ebean-orm/ebean.git
synced 2026-11-12 22:41:35 +00:00
#2075 - Refactor external mapping (i.e. named queries from ebean.xml etc) - extract api and separate module
This commit is contained in:
1 parent
f57db28f1c
commit
49b1bd54c3
52 files changed
+817
-259
No files matched your search
+23
-18
@@ -13,16 +13,16 @@ import java.util.Optional;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class NamedDtoQueryTest extends BaseTestCase {
|
||||
public class DtoQuery2Test extends BaseTestCase {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(NamedDtoQueryTest.class);
|
||||
private static final Logger log = LoggerFactory.getLogger(DtoQuery2Test.class);
|
||||
|
||||
@Test
|
||||
public void dto_findList_constructorMatch() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
DtoQuery<DCust> dtoQuery = server().createNamedDtoQuery(DCust.class, "findList");
|
||||
DtoQuery<DCust> dtoQuery = server().findDto(DCust.class, "select id, name from o_customer");
|
||||
|
||||
List<DCust> list = dtoQuery.findList();
|
||||
|
||||
@@ -36,7 +36,7 @@ public class NamedDtoQueryTest extends BaseTestCase {
|
||||
ResetBasicData.reset();
|
||||
|
||||
LoggedSqlCollector.start();
|
||||
server().createNamedDtoQuery(DCust.class, "findGtId")
|
||||
server().findDto(DCust.class, "select id, name from o_customer where id > :id")
|
||||
.setParameter("id", 0)
|
||||
.findEach(it -> log.info("got " + it.getId() + " " + it.getName()));
|
||||
|
||||
@@ -50,7 +50,7 @@ public class NamedDtoQueryTest extends BaseTestCase {
|
||||
ResetBasicData.reset();
|
||||
|
||||
LoggedSqlCollector.start();
|
||||
server().createNamedDtoQuery(DCust.class, "findGtIdDesc")
|
||||
server().findDto(DCust.class, "select id, name from o_customer where id > :id order by id desc")
|
||||
.setParameter("id", 0)
|
||||
.findEachWhile(customer -> {
|
||||
log.info("got " + customer.getId() + " " + customer.getName());
|
||||
@@ -66,13 +66,13 @@ public class NamedDtoQueryTest extends BaseTestCase {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
Optional<DCust> rob = server().createNamedDtoQuery(DCust.class, "findByName")
|
||||
Optional<DCust> rob = server().findDto(DCust.class, "select id, name from o_customer where name = :name")
|
||||
.setParameter("name", "Fiona")
|
||||
.findOneOrEmpty();
|
||||
|
||||
assertThat(rob.isPresent()).isTrue();
|
||||
|
||||
Optional<DCust> oneOrEmpty = server().createNamedDtoQuery(DCust.class, "findByName")
|
||||
Optional<DCust> oneOrEmpty = server().findDto(DCust.class, "select id, name from o_customer where name = :name")
|
||||
.setParameter("name", "DoesNotExistMyFriend")
|
||||
.findOneOrEmpty();
|
||||
|
||||
@@ -84,13 +84,13 @@ public class NamedDtoQueryTest extends BaseTestCase {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
DCust fiona = server().createNamedDtoQuery(DCust.class, "findByName")
|
||||
DCust fiona = server().findDto(DCust.class, "select id, name from o_customer where name = :name")
|
||||
.setParameter("name", "Fiona")
|
||||
.findOne();
|
||||
|
||||
assertThat(fiona.getName()).isEqualTo("Fiona");
|
||||
|
||||
DCust empty = server().createNamedDtoQuery(DCust.class, "findByName")
|
||||
DCust empty = server().findDto(DCust.class, "select id, name from o_customer where name = :name")
|
||||
.setParameter("name", "DoesNotExistMyFriend")
|
||||
.findOne();
|
||||
|
||||
@@ -109,7 +109,7 @@ public class NamedDtoQueryTest extends BaseTestCase {
|
||||
|
||||
for (String name : names) {
|
||||
|
||||
List<DCust> custs = server().createNamedDtoQuery(DCust.class, "findByName_c3")
|
||||
List<DCust> custs = server().findDto(DCust.class, "select c3.id, c3.name from o_customer c3 where c3.name = :name")
|
||||
.setLabel("basic")
|
||||
.setParameter("name", name)
|
||||
.findList();
|
||||
@@ -130,7 +130,7 @@ public class NamedDtoQueryTest extends BaseTestCase {
|
||||
assertThat(queryMetric.getName()).isEqualTo("dto.DCust_basic");
|
||||
|
||||
|
||||
server().createNamedDtoQuery(DCust.class, "findByName_c4")
|
||||
server().findDto(DCust.class, "select c4.id, c4.name from o_customer c4 where lower(c4.name) = :name")
|
||||
.setLabel("basic2")
|
||||
.setParameter("name", "rob")
|
||||
.findList();
|
||||
@@ -149,7 +149,7 @@ public class NamedDtoQueryTest extends BaseTestCase {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
List<DCust3> list = server().createNamedDtoQuery(DCust3.class, "findByName_relaxedMode")
|
||||
List<DCust2> list = server().findDto(DCust2.class, "select id, '42' as something_we_cannot_map, name from o_customer")
|
||||
.setRelaxedMode()
|
||||
.findList();
|
||||
|
||||
@@ -162,7 +162,7 @@ public class NamedDtoQueryTest extends BaseTestCase {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
List<DCust2> list = server().createNamedDtoQuery(DCust2.class, "findByName_relaxedMode")
|
||||
List<DCust2> list = server().findDto(DCust2.class, "select id, '42' as something_we_cannot_map, name from o_customer")
|
||||
.setRelaxedMode()
|
||||
.findList();
|
||||
|
||||
@@ -175,7 +175,13 @@ public class NamedDtoQueryTest extends BaseTestCase {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
List<DCust> dtos = server().createNamedDtoQuery(DCust.class, "findListByName")
|
||||
String sql = "select c.id, c.name, count(o.id) as totalOrders\n" +
|
||||
" from o_customer c\n" +
|
||||
" join o_order o on o.kcustomer_id = c.id\n" +
|
||||
" where c.name like :name\n" +
|
||||
" group by c.id, c.name";
|
||||
|
||||
List<DCust> dtos = server().findDto(DCust.class, sql)
|
||||
.setParameter("name", "Rob")
|
||||
.findList();
|
||||
|
||||
@@ -188,7 +194,7 @@ public class NamedDtoQueryTest extends BaseTestCase {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
DtoQuery<DCust2> dtoQuery = server().createNamedDtoQuery(DCust2.class, "findList");
|
||||
DtoQuery<DCust2> dtoQuery = server().findDto(DCust2.class, "select id, name from o_customer");
|
||||
|
||||
List<DCust2> list = dtoQuery.findList();
|
||||
|
||||
@@ -200,7 +206,7 @@ public class NamedDtoQueryTest extends BaseTestCase {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
List<DCust3> robs = server().createNamedDtoQuery(DCust3.class, "findByNameLike")
|
||||
List<DCust3> robs = server().findDto(DCust3.class, "select id, name, 42 as totalOrders from o_customer where name like ?")
|
||||
.setParameter("Rob")
|
||||
.setMaxRows(10)
|
||||
.findList();
|
||||
@@ -215,11 +221,10 @@ public class NamedDtoQueryTest extends BaseTestCase {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
List<DCust3> robs = server().createNamedDtoQuery(DCust3.class, "findByName")
|
||||
List<DCust3> robs = server().findDto(DCust3.class, "select id, name from o_customer where name = :name")
|
||||
.setParameter("name", "Rob")
|
||||
.findList();
|
||||
|
||||
|
||||
log.info(robs.toString());
|
||||
assertThat(robs).isNotEmpty();
|
||||
}
|
||||
@@ -6,11 +6,10 @@ import org.tests.model.basic.Customer;
|
||||
import org.tests.model.basic.ResetBasicData;
|
||||
|
||||
import javax.persistence.PersistenceException;
|
||||
import java.util.List;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class EbeanServer_eqlTest extends BaseTestCase {
|
||||
|
||||
|
||||
@@ -90,7 +89,7 @@ public class EbeanServer_eqlTest extends BaseTestCase {
|
||||
// check also select count(*)
|
||||
LoggedSqlCollector.start();
|
||||
query.findCount();
|
||||
List<String>sql = LoggedSqlCollector.stop();
|
||||
List<String> sql = LoggedSqlCollector.stop();
|
||||
assertThat(sql.get(0)).startsWith("select count(*) from o_customer t0;");
|
||||
}
|
||||
|
||||
@@ -116,7 +115,7 @@ public class EbeanServer_eqlTest extends BaseTestCase {
|
||||
// check also select count(*)
|
||||
LoggedSqlCollector.start();
|
||||
query.findCount();
|
||||
List<String>sql = LoggedSqlCollector.stop();
|
||||
List<String> sql = LoggedSqlCollector.stop();
|
||||
assertThat(sql.get(0)).startsWith("select count(*) from o_customer t0;");
|
||||
|
||||
}
|
||||
@@ -233,33 +232,4 @@ public class EbeanServer_eqlTest extends BaseTestCase {
|
||||
assertSql(query).contains("from o_customer t0 left join contact t1 on t1.customer_id = t0.id ");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void namedQuery_fromXml() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
Query<Customer> query = server()
|
||||
.createNamedQuery(Customer.class, "withContactsById")
|
||||
.setParameter("id", 1);
|
||||
|
||||
query.setUseCache(false);
|
||||
query.findOne();
|
||||
|
||||
assertSql(query).contains("from o_customer t0 left join contact t1 on t1.customer_id = t0.id ");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void namedQuery_fromCustomXmlLocations() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
Query<Customer> query = server()
|
||||
.createNamedQuery(Customer.class, "withContactsById2")
|
||||
.setParameter("id", 1);
|
||||
|
||||
query.setUseCache(false);
|
||||
query.findOne();
|
||||
|
||||
assertSql(query).contains("from o_customer t0 left join contact t1 on t1.customer_id = t0.id ");
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package io.ebeaninternal.xmlmapping.model;
|
||||
|
||||
import io.ebeaninternal.xmlmapping.XmlMappingReader;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
|
||||
public class XmlMappingReaderTest {
|
||||
|
||||
@Test
|
||||
public void read() throws Exception {
|
||||
|
||||
InputStream is = XmlMappingReaderTest.class.getResourceAsStream("/test-ebean.xml");
|
||||
XmEbean testMapping = XmlMappingReader.read(is);
|
||||
|
||||
assertNotNull(testMapping);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user