mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 13:10:44 +00:00
QQQ-26 update backend-core, queryOutput interface
This commit is contained in:
2
pom.xml
2
pom.xml
@ -53,7 +53,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.kingsrook.qqq</groupId>
|
<groupId>com.kingsrook.qqq</groupId>
|
||||||
<artifactId>qqq-backend-core</artifactId>
|
<artifactId>qqq-backend-core</artifactId>
|
||||||
<version>0.2.0-20220714.175901-2</version>
|
<version>0.2.0-20220719.154219-3</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- 3rd party deps specifically for this module -->
|
<!-- 3rd party deps specifically for this module -->
|
||||||
|
@ -62,8 +62,8 @@ public class RDBMSQueryAction extends AbstractRDBMSAction implements QueryInterf
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
QTableMetaData table = queryInput.getTable();
|
QTableMetaData table = queryInput.getTable();
|
||||||
String tableName = getTableName(table);
|
String tableName = getTableName(table);
|
||||||
|
|
||||||
List<QFieldMetaData> fieldList = new ArrayList<>(table.getFields().values());
|
List<QFieldMetaData> fieldList = new ArrayList<>(table.getFields().values());
|
||||||
String columns = fieldList.stream()
|
String columns = fieldList.stream()
|
||||||
@ -72,7 +72,7 @@ public class RDBMSQueryAction extends AbstractRDBMSAction implements QueryInterf
|
|||||||
|
|
||||||
String sql = "SELECT " + columns + " FROM " + tableName;
|
String sql = "SELECT " + columns + " FROM " + tableName;
|
||||||
|
|
||||||
QQueryFilter filter = queryInput.getFilter();
|
QQueryFilter filter = queryInput.getFilter();
|
||||||
List<Serializable> params = new ArrayList<>();
|
List<Serializable> params = new ArrayList<>();
|
||||||
if(filter != null && CollectionUtils.nullSafeHasContents(filter.getCriteria()))
|
if(filter != null && CollectionUtils.nullSafeHasContents(filter.getCriteria()))
|
||||||
{
|
{
|
||||||
@ -97,9 +97,7 @@ public class RDBMSQueryAction extends AbstractRDBMSAction implements QueryInterf
|
|||||||
|
|
||||||
// todo sql customization - can edit sql and/or param list
|
// todo sql customization - can edit sql and/or param list
|
||||||
|
|
||||||
QueryOutput rs = new QueryOutput();
|
QueryOutput queryOutput = new QueryOutput(queryInput);
|
||||||
List<QRecord> records = new ArrayList<>();
|
|
||||||
rs.setRecords(records);
|
|
||||||
|
|
||||||
try(Connection connection = getConnection(queryInput))
|
try(Connection connection = getConnection(queryInput))
|
||||||
{
|
{
|
||||||
@ -111,7 +109,6 @@ public class RDBMSQueryAction extends AbstractRDBMSAction implements QueryInterf
|
|||||||
// todo - should refactor this for view etc to use too.
|
// todo - should refactor this for view etc to use too.
|
||||||
// todo - Add display values (String labels for possibleValues, formatted #'s, etc)
|
// todo - Add display values (String labels for possibleValues, formatted #'s, etc)
|
||||||
QRecord record = new QRecord();
|
QRecord record = new QRecord();
|
||||||
records.add(record);
|
|
||||||
record.setTableName(table.getName());
|
record.setTableName(table.getName());
|
||||||
LinkedHashMap<String, Serializable> values = new LinkedHashMap<>();
|
LinkedHashMap<String, Serializable> values = new LinkedHashMap<>();
|
||||||
record.setValues(values);
|
record.setValues(values);
|
||||||
@ -122,12 +119,14 @@ public class RDBMSQueryAction extends AbstractRDBMSAction implements QueryInterf
|
|||||||
Serializable value = getValue(qFieldMetaData, resultSet, i);
|
Serializable value = getValue(qFieldMetaData, resultSet, i);
|
||||||
values.put(qFieldMetaData.getName(), value);
|
values.put(qFieldMetaData.getName(), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
queryOutput.addRecord(record);
|
||||||
}
|
}
|
||||||
|
|
||||||
}), params);
|
}), params);
|
||||||
}
|
}
|
||||||
|
|
||||||
return rs;
|
return queryOutput;
|
||||||
}
|
}
|
||||||
catch(Exception e)
|
catch(Exception e)
|
||||||
{
|
{
|
||||||
@ -187,8 +186,8 @@ public class RDBMSQueryAction extends AbstractRDBMSAction implements QueryInterf
|
|||||||
|
|
||||||
for(QFilterOrderBy orderBy : orderBys)
|
for(QFilterOrderBy orderBy : orderBys)
|
||||||
{
|
{
|
||||||
QFieldMetaData field = table.getField(orderBy.getFieldName());
|
QFieldMetaData field = table.getField(orderBy.getFieldName());
|
||||||
String column = getColumnName(field);
|
String column = getColumnName(field);
|
||||||
clauses.add(column + " " + (orderBy.getIsAscending() ? "ASC" : "DESC"));
|
clauses.add(column + " " + (orderBy.getIsAscending() ? "ASC" : "DESC"));
|
||||||
}
|
}
|
||||||
return (String.join(", ", clauses));
|
return (String.join(", ", clauses));
|
||||||
|
Reference in New Issue
Block a user