Skip to content

Commit 42cb49e

Browse files
Merge pull request #20 from Appdynamics/sql_config_map_issue
Fix ClassCastException in ColumnGenerator causing queries to silently fail
2 parents b3fc476 + db72641 commit 42cb49e

File tree

1 file changed

+7
-22
lines changed

1 file changed

+7
-22
lines changed

src/main/java/com/appdynamics/extensions/sql/ColumnGenerator.java

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,22 @@
99

1010
import com.appdynamics.extensions.util.AssertUtils;
1111
import com.fasterxml.jackson.databind.ObjectMapper;
12-
import com.google.common.base.Strings;
1312
import com.google.common.collect.Maps;
1413

1514
import java.util.List;
1615
import java.util.Map;
1716

18-
/**
19-
* Created by bhuvnesh.kumar on 10/5/17.
20-
*/
2117
public class ColumnGenerator {
2218

2319
public List<Column> getColumns(Map query) {
24-
AssertUtils.assertNotNull(query.get("columns"),"Queries need to have columns configured.");
25-
26-
Map<String, Map<String, String>> filter = Maps.newLinkedHashMap();
27-
filter = filterMap(query, "columns");
28-
final ObjectMapper mapper = new ObjectMapper(); // jackson’s objectmapper
29-
final Columns columns = mapper.convertValue(filter, Columns.class);
30-
return columns.getColumns();
31-
}
20+
Object columnsObj = query.get("columns");
21+
AssertUtils.assertNotNull(columnsObj, "Queries need to have columns configured.");
3222

33-
private Map<String, Map<String, String>> filterMap( Map<String, Map<String, String>> mapOfMaps, String filterKey) {
34-
Map<String, Map<String, String>> filteredOnKeyMap = Maps.newLinkedHashMap();
23+
Map<String, Object> wrapper = Maps.newLinkedHashMap();
24+
wrapper.put("columns", columnsObj);
3525

36-
if (Strings.isNullOrEmpty(filterKey))
37-
return filteredOnKeyMap;
38-
39-
if (mapOfMaps.containsKey(filterKey)) {
40-
filteredOnKeyMap.put(filterKey,mapOfMaps.get(filterKey));
41-
}
42-
43-
return filteredOnKeyMap;
26+
final ObjectMapper mapper = new ObjectMapper();
27+
final Columns columns = mapper.convertValue(wrapper, Columns.class);
28+
return columns.getColumns();
4429
}
4530
}

0 commit comments

Comments
 (0)