/** * Applies custom (user-defined) configuration on top of default (descriptor-defined) configuration, and returns the * resulting JSON object. */ public ObjectNode mergeConfiguration() { JsonNode descriptorConfigNode = descriptorNode.path(ATT_CONFIG); ObjectNode result = nodeFactory.objectNode(); // Apply default configuration, if any if (!descriptorConfigNode.isMissingNode() && descriptorConfigNode.isObject()) { result.putAll((ObjectNode) descriptorConfigNode); } // Apply custom configuration, if any JsonNode customConfigNode = configurationNode.path(ATT_CONFIG); if (customConfigNode != null && !customConfigNode.isMissingNode() && customConfigNode.isObject()) { result.putAll((ObjectNode) customConfigNode); } return result; }
@Override ObjectNode toJson() { final ObjectNode obj = mapper.createObjectNode(); final ArrayNode bool = obj.putArray(BooleanPropertyParser.BOOLEAN_PROPERTY); for (final QueryClause clause : clauses) { final ObjectNode e = bool.addObject(); e.put(OccurPropertyParser.OCCUR_PROPERTY, clause.getOccur().toString()); e.putAll(clause.getQuery().toJson()); } return obj; }
@Override public ObjectNode toJson() { final ObjectNode obj = mapper.createObjectNode(); ObjectNode bool = obj.putObject(BooleanPropertyParser.BOOLEAN_PROPERTY); // add boost if (this.hasBoost()) { bool.put(BoostPropertyParser.BOOST_PROPERTY, this.getBoost()); } // add slop if (this.hasSlop()) { bool.put(SlopPropertyParser.SLOP_PROPERTY, this.getSlop()); } // add inOrder if (this.hasInOrder()) { bool.put(InOrderPropertyParser.IN_ORDER_PROPERTY, this.getInOrder()); } // add clauses ArrayNode array = bool.putArray(ClausePropertyParser.CLAUSE_PROPERTY); for (final QueryClause clause : clauses) { final ObjectNode e = array.addObject(); e.put(OccurPropertyParser.OCCUR_PROPERTY, clause.getOccur().toString()); e.putAll(clause.getQuery().toJson()); } return obj; }