@Override public Object getRoot() { return query.getRoot(); }
protected Entity validateRoot(SelectQuery query, ProjectPath path, Validator validator) { DataMap map = (DataMap) path.firstInstanceOf(DataMap.class); if (query.getRoot() == null && map != null) { validator.registerWarning("Query has no root", path); return null; if (query.getRoot() == map) { return (query.getRoot() instanceof Entity) ? (Entity) query.getRoot() : null; if (query.getRoot() instanceof Class) { return null;
EntityIdCoder coder = codersByEntity.get(query.getRoot()); @SuppressWarnings("unchecked") List<DataObject> objects = context.performQuery(query);
protected List<ColumnDescriptor> buildResultColumns() { this.defaultAttributesByColumn = new HashMap<>(); List<ColumnDescriptor> columns = new ArrayList<>(); SelectQuery<?> query = getSelectQuery(); if(query.getColumns() != null && !query.getColumns().isEmpty()) { appendOverriddenColumns(columns, query); } else if (query.getRoot() instanceof DbEntity) { appendDbEntityColumns(columns, query); } else if (getQueryMetadata().getPageSize() > 0) { appendIdColumns(columns, queryMetadata.getClassDescriptor().getEntity()); } else { appendQueryColumns(columns, query, queryMetadata.getClassDescriptor(), null); } return columns; }
@Test public void testById() { SelectContext<E1> c = new SelectContext<>(E1.class); c.setId(1); c.setEntity(getResourceEntity(E1.class)); SelectQuery<E1> s1 = makeQueryStage.basicSelect(c); assertNotNull(s1); assertSame(E1.class, s1.getRoot()); }
@Test public void testById_WithQuery() { SelectQuery<E1> select = new SelectQuery<E1>(E1.class); SelectContext<E1> c = new SelectContext<>(E1.class); c.setId(1); c.setSelect(select); c.setEntity(getResourceEntity(E1.class)); SelectQuery<E1> s2 = makeQueryStage.basicSelect(c); assertNotNull(s2); assertNotSame(select, s2); assertSame(E1.class, s2.getRoot()); } }