2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6 * Copyright © 2017-2018 Amdocs
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
21 package org.onap.aai.sparky.search.filters.entity;
23 import java.util.ArrayList;
24 import java.util.List;
26 import javax.json.Json;
27 import javax.json.JsonBuilderFactory;
28 import javax.json.JsonObject;
29 import javax.json.JsonObjectBuilder;
31 public class FilteredAggregationQueryBuilder {
33 private List<AggregationEntity> aggregationEntities;
35 public FilteredAggregationQueryBuilder() {
36 aggregationEntities = new ArrayList<AggregationEntity>();
39 public void addAggregationEntity(AggregationEntity aggregationEntity) {
40 if (!aggregationEntities.contains(aggregationEntity)) {
41 aggregationEntities.add(aggregationEntity);
45 public JsonObject getJsonObject() {
48 * Specify a null config for now, but if we want normalize all the builders, we can do it at one
49 * location, when we are ready.
51 JsonBuilderFactory factory = Json.createBuilderFactory(null);
53 JsonObjectBuilder aggsArrayBuilder = factory.createObjectBuilder();
55 for (AggregationEntity aggEntity : aggregationEntities) {
56 aggsArrayBuilder.add(aggEntity.getAggregationName(), aggEntity.getJsonObject());
59 return aggsArrayBuilder.build();