Skip to content

Commit

Permalink
Merge pull request #8 from alexdaube/correcting_table_issue
Browse files Browse the repository at this point in the history
Correcting table issue
  • Loading branch information
alexdaube authored Mar 13, 2017
2 parents f918ded + 6d62b55 commit 963be78
Show file tree
Hide file tree
Showing 7 changed files with 24 additions and 15 deletions.
4 changes: 2 additions & 2 deletions demo/src/components/DynamicListBody.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import guid from "../utils/guid";
const renderBody = (rowData) => {
return (
<tr key={guid()}>
{Object.keys(rowData).map(key => {
return <td key={guid()}>{rowData[key]}</td>;
{rowData.map(obj => {
return <td key={guid()}>{obj.value}</td>;
})}
</tr>
);
Expand Down
4 changes: 2 additions & 2 deletions demo/src/containers/DynamicList.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import {undoCamelCasing} from "../utils/strings";

export class DynamicList extends Component {
extractLabels() {
return Object.keys(this.props.query.data[0]).map(key => {
return undoCamelCasing(key);
return this.props.query.data[0].map(obj => {
return undoCamelCasing(obj.name);
});
}

Expand Down
2 changes: 1 addition & 1 deletion demo/test/containers/DynamicList_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import DynamicListBody from "../../src/components/DynamicListBody";


describe('DynamicList', () => {
const columns = [{SomeColumn: 'SomeColumn', 'someOther': 'SomeColumn'}];
const columns = [[{name: 'SomeColumn'},{name: 'SomeOther'}]];
const formattedColumns = ['Some Column', 'Some Other'];
let wrapper, props;

Expand Down
5 changes: 3 additions & 2 deletions mqlservice/src/main/domain/DbClient.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package domain;

import services.query.AttributeDto;

import java.util.List;
import java.util.Map;

public interface DbClient {
List<Map<String, String>> execute(String query);
List<List<AttributeDto>> execute(String query);
}
16 changes: 9 additions & 7 deletions mqlservice/src/main/infrastructure/clients/SqlLiteClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@

import domain.DbClient;
import persistence.SQLHelper;
import services.query.AttributeDto;

import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

public class SqlLiteClient implements DbClient {

Expand All @@ -20,18 +19,21 @@ public SqlLiteClient(SQLHelper sqlHelper) {
}

@Override
public List<Map<String, String>> execute(String query) {
public List<List<AttributeDto>> execute(String query) {
ResultSet resultSet = sqlHelper.executeQuery(query);
List<Map<String, String>> result = new LinkedList<>();
List<List<AttributeDto>> result = new LinkedList<>();
try {
ResultSetMetaData metaData = resultSet.getMetaData();
int numberOfColumns = metaData.getColumnCount();
while (resultSet.next()) {
Map<String, String> columnMap = new HashMap<>();
result.add(columnMap);
List<AttributeDto> columns = new LinkedList<>();
result.add(columns);

for (int i = 1; i <= numberOfColumns; ++i) {
columnMap.put(metaData.getColumnName(i), resultSet.getString(i));
AttributeDto attributeDto = new AttributeDto();
attributeDto.name = metaData.getColumnName(i);
attributeDto.value = resultSet.getString(i);
columns.add(attributeDto);
}
}
return result;
Expand Down
6 changes: 6 additions & 0 deletions mqlservice/src/main/services/query/AttributeDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package services.query;

public class AttributeDto {
public String name;
public String value;
}
2 changes: 1 addition & 1 deletion mqlservice/src/main/services/query/QueryService.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public QueryService(DbClient dbClient) {
this.dbClient = dbClient;
}

public List<Map<String, String>> executeQuery(QueryDto queryDto) {
public List<List<AttributeDto>> executeQuery(QueryDto queryDto) {
QueryTranslator queryTranslator = ServiceLocator.getInstance().resolve(QueryTranslator.class);
String query = queryTranslator.translate(new StringQuery(queryDto.query));
return dbClient.execute(query);
Expand Down

0 comments on commit 963be78

Please sign in to comment.