Repository: incubator-unomi Updated Branches: refs/heads/feature-UNOMI-70-ES5X 8b5a44bb1 -> 69b0403d7
UNOMI-70 : Avoid npe when mapping is not found Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/69b0403d Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/69b0403d Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/69b0403d Branch: refs/heads/feature-UNOMI-70-ES5X Commit: 69b0403d7763d650bcc1e5883eec7e2d6a4d65f0 Parents: 8b5a44b Author: Thomas Draier <[email protected]> Authored: Tue Dec 20 15:29:50 2016 +0100 Committer: Thomas Draier <[email protected]> Committed: Tue Dec 20 15:29:50 2016 +0100 ---------------------------------------------------------------------- .../ElasticSearchPersistenceServiceImpl.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/69b0403d/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java index ee85d98..49e09d0 100644 --- a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java +++ b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java @@ -1054,20 +1054,16 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService, private Map<String, Object> getPropertyMapping(String property, Map<String, Map<String, Object>> mappings) { Map<String, Object> propMapping = null; String[] properties = StringUtils.split(property, '.'); - for (int i = 0; i < properties.length; i++) { + for (int i = 0; i < properties.length && mappings != null; i++) { String s = properties[i]; - if (mappings != null) { - propMapping = mappings.get(s); - if (i == properties.length - 1) { - return propMapping; - } else { - mappings = (Map<String, Map<String, Object>>) propMapping.get("properties"); - } + propMapping = mappings.get(s); + if (i == properties.length - 1) { + return propMapping; } else { - return null; + mappings = propMapping != null ? ((Map<String, Map<String, Object>>) propMapping.get("properties")) : null; } } - return propMapping; + return null; } public boolean saveQuery(final String queryName, final String query) {
