use of com.haulmont.cuba.core.sys.jpql.model.EntityBuilder in project cuba by cuba-platform.
the class QueryTransformerAstBasedTest method getResult_noChangesMade_withJoinAndSeveralJoinConditions.
@Test
public void getResult_noChangesMade_withJoinAndSeveralJoinConditions() throws RecognitionException {
EntityBuilder builder = new EntityBuilder();
JpqlEntityModel teamEntity = builder.produceImmediately("Team", "name");
builder.startNewEntity("Player");
builder.addStringAttribute("name");
builder.addReferenceAttribute("as", "Team");
builder.addReferenceAttribute("member", "Team");
JpqlEntityModel playerEntity = builder.produce();
DomainModel model = new DomainModel(playerEntity, teamEntity);
assertTransformsToSame(model, "SELECT p FROM Player p JOIN Team t on p.member = t and p.name = :param");
}
use of com.haulmont.cuba.core.sys.jpql.model.EntityBuilder in project cuba by cuba-platform.
the class QueryTransformerAstBasedTest method getResult_noChangesMade_parametersWithDot.
@Test
public void getResult_noChangesMade_parametersWithDot() throws RecognitionException {
EntityBuilder builder = new EntityBuilder();
JpqlEntityModel teamEntity = builder.produceImmediately("Team", "name");
builder.startNewEntity("Player");
builder.addSingleValueAttribute(Date.class, "birthDate");
builder.addReferenceAttribute("team", "Team");
JpqlEntityModel playerEntity = builder.produce();
DomainModel model = new DomainModel(playerEntity, teamEntity);
QueryTransformerAstBased transformerAstBased = new QueryTransformerAstBased(model, "SELECT p FROM Player p where p.birthDate = :d.option");
String result = transformerAstBased.getResult();
assertEquals("SELECT p FROM Player p where p.birthDate = :d.option", result);
}
use of com.haulmont.cuba.core.sys.jpql.model.EntityBuilder in project cuba by cuba-platform.
the class QueryTransformerAstBasedTest method getResult_noChangesMade_withGroupByHavingOrderBy.
@Test
public void getResult_noChangesMade_withGroupByHavingOrderBy() throws RecognitionException {
EntityBuilder builder = new EntityBuilder();
JpqlEntityModel playerEntity = builder.produceImmediately("Player", "name", "nickname", "level");
builder.startNewEntity("Team");
builder.addCollectionReferenceAttribute("players", "Player");
builder.addStringAttribute("title");
JpqlEntityModel team = builder.produce();
DomainModel model = new DomainModel(playerEntity, team);
assertTransformsToSame(model, "select p from Team t join t.players p " + "group by p.level having p.level > 0 order by p.level");
}
use of com.haulmont.cuba.core.sys.jpql.model.EntityBuilder in project cuba by cuba-platform.
the class QueryTransformerAstBasedTest method getResult_noChangesMade_withCase.
@Test
public void getResult_noChangesMade_withCase() throws RecognitionException {
EntityBuilder builder = new EntityBuilder();
JpqlEntityModel playerEntity = builder.produceImmediately("Player", "name", "nickname");
DomainModel model = new DomainModel(playerEntity);
assertTransformsToSame(model, "select case when p.nickname is null then p.name else p.nickname end from Player p");
}
use of com.haulmont.cuba.core.sys.jpql.model.EntityBuilder in project cuba by cuba-platform.
the class QueryTransformerAstBasedTest method getResult_noChangesMade_withGroupBy.
@Test
public void getResult_noChangesMade_withGroupBy() throws RecognitionException {
EntityBuilder builder = new EntityBuilder();
JpqlEntityModel playerEntity = builder.produceImmediately("Player", "name", "nickname", "level");
DomainModel model = new DomainModel(playerEntity);
assertTransformsToSame(model, "select p from Player p group by p.level, p.name");
assertTransformsToSame(model, "select p from Player p group by p.level");
}
Aggregations