@Override public final List<Map<String, Object>> intoMaps() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); for (R record : this) { list.add(record.intoMap()); } return list; }
@Override public final Map<String, Object> fetchOneMap() { R record = fetchOne(); return record == null ? null : record.intoMap(); }
@Override public final List<Map<String, Object>> intoMaps() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(size()); for (R record : this) list.add(record.intoMap()); return list; }
@Override public final Map<String, Object> fetchOneMap() { R record = fetchOne(); return record == null ? null : record.intoMap(); }
@Override public final Map<String, Object> fetchAnyMap() { R record = fetchAny(); return record == null ? null : record.intoMap(); }
@Override public Element map(Record record) { Map<String, Object> dataMap = record.intoMap(); return rowSchema.fromFields(dataMap).stream().findFirst().get(); } }
@Override public final Map<String, Object> fetchSingleMap() { return fetchSingle().intoMap(); }
Map<String, Object> row = record.intoMap();
private void addFkRecords(ReflectedTable t2, HashMap<Object, Object> fkValues, Params params, DSLContext dsl, ArrayList<Record> records) { Field<Object> pk = t2.getPk(); ArrayList<Field<?>> fields = columns.getNames(t2, false, params); ResultQuery<org.jooq.Record> query = dsl.select(fields).from(t2).where(pk.in(fkValues.keySet())); for (org.jooq.Record record : query.fetch()) { records.add(Record.valueOf(record.intoMap())); } }
private void addPkRecords(ReflectedTable t1, ReflectedTable t2, HashMap<Object, ArrayList<Object>> pkValues, Params params, DSLContext dsl, ArrayList<Record> records) { List<Field<Object>> fks = t2.getFksTo(t1.getName()); ArrayList<Field<?>> fields = columns.getNames(t2, false, params); Condition condition = DSL.falseCondition(); for (Field<Object> fk : fks) { condition = condition.or(fk.in(pkValues.keySet())); } ResultQuery<org.jooq.Record> query = dsl.select(fields).from(t2).where(condition); for (org.jooq.Record record : query.fetch()) { records.add(Record.valueOf(record.intoMap())); } }
@Override public Record read(String tableName, String id, Params params) { ReflectedTable table = reflection.getTable(tableName); includer.addMandatoryColumns(table, reflection, params); ArrayList<Field<?>> columnNames = columns.getNames(table, true, params); Field<Object> pk = reflection.getTable(tableName).getPk(); org.jooq.Record record = dsl.select(columnNames).from(table).where(pk.eq(id)).fetchOne(); if (record == null) { return null; } Record r = Record.valueOf(record.intoMap()); ArrayList<Record> records = new ArrayList<>(Arrays.asList(r)); includer.addIncludes(tableName, records, reflection, params, dsl); return r; }
@Override public ListDocument list(String tableName, Params params) { ArrayList<Record> records = new ArrayList<>(); ReflectedTable table = reflection.getTable(tableName); includer.addMandatoryColumns(table, reflection, params); ArrayList<Field<?>> columnNames = columns.getNames(table, true, params); Condition condition= filters.getCombinedConditions(table, params); ArrayList<SortField<?>> columnOrdering = ordering.getColumnOrdering(table, params); int count = 0; ResultQuery<org.jooq.Record> query; if (!pagination.hasPage(params)) { int size = pagination.getResultSize(params); query = dsl.select(columnNames).from(table).where(condition).orderBy(columnOrdering); if (size != -1) { query = ((SelectLimitStep<org.jooq.Record>) query).limit(size); } } else { int offset = pagination.getPageOffset(params); int limit = pagination.getPageSize(params); count = (int) dsl.select(DSL.count()).from(table).where(condition).fetchOne(0); query = dsl.select(columnNames).from(table).where(condition).orderBy(columnOrdering).limit(offset, limit); } for (org.jooq.Record record : query.fetch()) { records.add(Record.valueOf(record.intoMap())); } includer.addIncludes(tableName, records, reflection, params, dsl); return new ListDocument(records.toArray(new Record[records.size()]), count); }