2  * ============LICENSE_START=======================================================
 
   3  * ONAP : ccsdk features
 
   4  * ================================================================================
 
   5  * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property.
 
   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=========================================================
 
  22 package org.onap.ccsdk.features.sdnr.wt.dataprovider.test;
 
  24 import java.io.IOException;
 
  25 import java.math.BigInteger;
 
  26 import java.util.ArrayList;
 
  27 import java.util.HashSet;
 
  28 import java.util.List;
 
  31 import org.eclipse.jdt.annotation.Nullable;
 
  32 import org.json.JSONObject;
 
  33 import org.junit.Test;
 
  34 import org.onap.ccsdk.features.sdnr.wt.common.YangHelper;
 
  35 import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
 
  36 import org.onap.ccsdk.features.sdnr.wt.common.database.SearchResult;
 
  37 import org.onap.ccsdk.features.sdnr.wt.common.database.config.HostInfo;
 
  38 import org.onap.ccsdk.features.sdnr.wt.common.database.queries.BoolQueryBuilder;
 
  39 import org.onap.ccsdk.features.sdnr.wt.common.database.queries.QueryBuilder;
 
  40 import org.onap.ccsdk.features.sdnr.wt.common.database.queries.QueryBuilders;
 
  41 import org.onap.ccsdk.features.sdnr.wt.common.database.requests.CreateIndexRequest;
 
  42 import org.onap.ccsdk.features.sdnr.wt.common.database.requests.DeleteIndexRequest;
 
  43 import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.elasticsearch.EsDataObjectReaderWriter2;
 
  44 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.types.YangHelper2;
 
  45 import org.onap.ccsdk.features.sdnr.wt.dataprovider.test.util.HostInfoForTest;
 
  46 import org.onap.ccsdk.features.sdnr.wt.dataprovider.yangtools.DataProviderYangToolsMapper;
 
  47 import org.onap.ccsdk.features.sdnr.wt.yang.mapper.YangToolsMapperHelper;
 
  48 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
 
  49 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
 
  50 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
 
  51 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeBuilder;
 
  52 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.parameters.OdlHelloMessageCapabilitiesBuilder;
 
  53 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.credentials.LoginPasswordBuilder;
 
  54 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerInputBuilder;
 
  55 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Entity;
 
  56 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EntityInput;
 
  57 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListInput;
 
  58 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListInputBuilder;
 
  59 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListOutputBuilder;
 
  60 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SortOrder;
 
  61 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.Filter;
 
  62 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.PaginationBuilder;
 
  63 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.Sortorder;
 
  64 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata15m.entity.PerformanceDataBuilder;
 
  65 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data;
 
  66 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.DataBuilder;
 
  68 public class TestYangGenSalMapping {
 
  70     // Create mapper for serialization and deserialization
 
  71     DataProviderYangToolsMapper mapper = new DataProviderYangToolsMapper();
 
  74     public void test1() throws IOException {
 
  77         NetconfNodeBuilder netconfNodeBuilder = new NetconfNodeBuilder();
 
  78         netconfNodeBuilder.setConnectedMessage("ConnMessage");
 
  80         LoginPasswordBuilder loginPasswordBuilder = new LoginPasswordBuilder();
 
  81         loginPasswordBuilder.setUsername("myTestUsername");
 
  82         loginPasswordBuilder.setPassword("myTestPassword");
 
  83         netconfNodeBuilder.setCredentials(loginPasswordBuilder.build());
 
  85         OdlHelloMessageCapabilitiesBuilder odlHelloMessageCapabilitiesBuilder =
 
  86                 new OdlHelloMessageCapabilitiesBuilder();
 
  87         Set<Uri> uriList = new HashSet<>();
 
  88         uriList.add(new Uri("test.uri"));
 
  89         odlHelloMessageCapabilitiesBuilder.setCapability(uriList);
 
  90         netconfNodeBuilder.setOdlHelloMessageCapabilities(odlHelloMessageCapabilitiesBuilder.build());
 
  92         NetconfNode netconfNode = netconfNodeBuilder.build();
 
  93         out(netconfNode.toString());
 
  95         // Map Object to JSON String
 
  96         String res = mapper.writeValueAsString(netconfNode);
 
  97         JSONObject json = new JSONObject(res); // Convert text to object
 
  98         out(json.toString(4)); // Print it with specified indentation
 
 100         // Map to JSON String to Object
 
 101         NetconfNode generatedNode = mapper.readValue(res.getBytes(), NetconfNode.class);
 
 102         out(generatedNode.toString()); // Print it with specified indentation
 
 105         //out("Equal?  "+netconfNode.equals(generatedNode));
 
 109     public void test2() throws Exception {
 
 111         final String idx = "inventorytest";
 
 112         HostInfo[] hostInfo = HostInfoForTest.get();
 
 113         HtDatabaseClient db = HtDatabaseClient.getClient(hostInfo);
 
 115         EsDataObjectReaderWriter2<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.Data> dataRW =
 
 116                 new EsDataObjectReaderWriter2<>(db, Entity.Inventoryequipment,
 
 117                         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.Data.class);
 
 118         if (!db.isExistsIndex(idx)) {
 
 119             db.createIndex(new CreateIndexRequest(idx));
 
 121         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.Data d1;
 
 122         d1 = getInventoryDataBuilder("MyDescription", 23L).build();
 
 123         String id = dataRW.write(d1, null);
 
 125         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.Data d2;
 
 126         d2 = dataRW.read(id);
 
 129         if (db.isExistsIndex(idx)) {
 
 130             db.deleteIndex(new DeleteIndexRequest(idx));
 
 136     public void test3() throws IOException {
 
 138         PerformanceDataBuilder performanceBuilder = new PerformanceDataBuilder();
 
 139         performanceBuilder.setEs(99);
 
 140         DataBuilder pmData15MinutesBuilder = new DataBuilder();
 
 141         pmData15MinutesBuilder.setLayerProtocolName("fdsaf");
 
 142         pmData15MinutesBuilder.setTimeStamp(new DateAndTime("2017-03-01T09:15:00.0Z"));
 
 143         pmData15MinutesBuilder.setPerformanceData(performanceBuilder.build());
 
 145         // Map Object to JSON String
 
 146         String res = mapper.writeValueAsString(pmData15MinutesBuilder.build());
 
 147         JSONObject json = new JSONObject(res); // Convert text to object
 
 148         out(json.toString(4)); // Print it with specified indentation
 
 150         // Map to JSON String to Object
 
 151         Data generatedNode = mapper.readValue(res.getBytes(), Data.class);
 
 152         out(generatedNode.toString()); // Print it with specified indentation
 
 156     public void test4() throws IOException {
 
 158      String jsonString = "{\n"
 
 159                 + "\"node-name\": \"Sim2230\",\n"
 
 160                 + "\"uuid-interface\": \"LP-MWPS-TTP-RADIO\",\n"
 
 161                 + "\"layer-protocol-name\": \"MWPS\",\n"
 
 162                 + "\"radio-signal-id\": \"Test8\",\n"
 
 163                 + "\"time-stamp\": \"2017-03-01T09:15:00.0Z\",\n"
 
 164                 + "\"granularity-period\": \"Period15Min\",\n"
 
 165                 + "\"scanner-id\": \"PM_RADIO_15M_4\",\n"
 
 166                 + "\"performance-data\": {\n"
 
 167                 +     "\"unavailability\": 0,\n"
 
 168                 +     "\"tx-level-max\": 3,\n"
 
 169                 +     "\"tx-level-avg\": 3,\n"
 
 170                 +     "\"rx-level-min\": -44,\n"
 
 171                 +     "\"rx-level-max\": -45,\n"
 
 172                 +     "\"rx-level-avg\": -44,\n"
 
 173                 +     "\"time2-states\": 0,\n"
 
 174                 +     "\"time4-states-s\": 0,\n"
 
 175                 +     "\"time4-states\": 0,\n"
 
 176                 +     "\"time8-states\": -1,\n"
 
 177                 +     "\"time16-states-s\": -1,\n"
 
 178                 +     "\"time16-states\": 0,\n"
 
 179                 +     "\"time32-states\": -1,\n"
 
 180                 +     "\"time64-states\": 900,\n"
 
 181                 +     "\"time128-states\": -1,\n"
 
 182                 +     "\"time256-states\": -1,\n"
 
 183                 +     "\"time512-states\": -1,\n"
 
 184                 +     "\"time512-states-l\": -1,\n"
 
 185                 +     "\"time1024-states\": -1,\n"
 
 186                 +     "\"time1024-states-l\": -1,\n"
 
 187                 +     "\"time8192-states-l\": -1,\n"
 
 188                 +     "\"time8192-states\": -1,\n"
 
 189                 +     "\"time2048-states\": -1,\n"
 
 190                 +     "\"snir-min\": -99,\n"
 
 191                 +     "\"snir-max\": -99,\n"
 
 192                 +     "\"snir-avg\": -99,\n"
 
 193                 +     "\"xpd-min\": -99,\n"
 
 194                 +     "\"xpd-max\": -99,\n"
 
 195                 +     "\"xpd-avg\": -99,\n"
 
 196                 +     "\"rf-temp-min\": -99,\n"
 
 197                 +     "\"rf-temp-max\": -99,\n"
 
 198                 +     "\"rf-temp-avg\": -99,\n"
 
 199                 +     "\"defect-blocks-sum\": -1,\n"
 
 200                 +     "\"time-period\": 900,\n"
 
 202                 +     "\"time4096-states-l\": -1,\n"
 
 203                 +     "\"tx-level-min\": 3,\n"
 
 205                 +     "\"time2048-states-l\": -1,\n"
 
 206                 +     "\"time4096-states\": -1,\n"
 
 209                 + "\"suspect-interval-flag\": false\n"
 
 213         // Map to JSON String to Object
 
 214         Data generatedNode = mapper.readValue(jsonString.getBytes(), Data.class);
 
 215         out(generatedNode.toString()); // Print it with specified indentation
 
 219     public void test5() throws IOException {
 
 221         String jsonString = "{\n"
 
 222                 + "    \"time-stamp\": \"2017-03-01T06:45:00.0Z\",\n"
 
 223                 + "    \"node-name\": \"Sim2230\",\n"
 
 224                 + "    \"uuid-interface\": \"LP-MWPS-TTP-RADIO\",\n"
 
 225                 + "    \"scanner-id\": \"PM_RADIO_15M_14\",\n"
 
 226                 + "    \"layer-protocol-name\": \"MWPS\",\n"
 
 227                 + "    \"granularity-period\": \"Period15Min\",\n"
 
 228                 + "    \"radio-signal-id\": \"Test8\",\n"
 
 229                 + "    \"suspect-interval-flag\": false,\n"
 
 230                 + "    \"performance-data\": {\n"
 
 231                 + "        \"time4096-states-l\": -1,\n"
 
 232                 + "        \"time16-states-s\": -1,\n"
 
 233                 + "        \"tx-level-max\": 3,\n"
 
 234                 + "        \"snir-max\": -99,\n"
 
 235                 + "        \"time16-states\": 0,\n"
 
 236                 + "        \"time64-states\": 900,\n"
 
 237                 + "        \"unavailability\": 0,\n"
 
 238                 + "        \"time8192-states-l\": -1,\n"
 
 239                 + "        \"time512-states\": -1,\n"
 
 240                 + "        \"xpd-min\": -99,\n"
 
 241                 + "        \"xpd-avg\": -99,\n"
 
 242                 + "        \"tx-level-avg\": 3,\n"
 
 243                 + "        \"tx-level-min\": 3,\n"
 
 244                 + "        \"rf-temp-min\": -99,\n"
 
 245                 + "        \"rf-temp-avg\": -99,\n"
 
 246                 + "        \"snir-avg\": -99,\n"
 
 247                 + "        \"snir-min\": -99,\n"
 
 248                 + "        \"time-period\": 900,\n"
 
 249                 + "        \"time2-states\": 0,\n"
 
 250                 + "        \"time4-states\": 0,\n"
 
 251                 + "        \"time8-states\": -1,\n"
 
 253                 + "        \"time2048-states-l\": -1,\n"
 
 254                 + "        \"time2048-states\": -1,\n"
 
 255                 + "        \"xpd-max\": -99,\n"
 
 256                 + "        \"rf-temp-max\": -99,\n"
 
 257                 + "        \"time8192-states\": -1,\n"
 
 258                 + "        \"time128-states\": -1,\n"
 
 259                 + "        \"time256-states\": -1,\n"
 
 260                 + "        \"rx-level-min\": -44,\n"
 
 261                 + "        \"rx-level-avg\": -44,\n"
 
 262                 + "        \"time1024-states-l\": -1,\n"
 
 265                 + "        \"time4-states-s\": 0,\n"
 
 266                 + "        \"time1024-states\": -1,\n"
 
 267                 + "        \"time512-states-l\": -1,\n"
 
 268                 + "        \"time4096-states\": -1,\n"
 
 269                 + "        \"rx-level-max\": -45,\n"
 
 270                 + "        \"defect-blocks-sum\": -1,\n"
 
 271                 + "        \"time32-states\": -1\n"
 
 275         // Map to JSON String to Object
 
 276         Data generatedNode = mapper.readValue(jsonString.getBytes(), Data.class);
 
 277         out(generatedNode.toString()); // Print it with specified indentation
 
 281     public void test6() throws Exception {
 
 283         HostInfo[] hostInfo = HostInfoForTest.get();
 
 284         HtDatabaseClient dbClient = HtDatabaseClient.getClient(hostInfo);
 
 286         EsDataObjectReaderWriter2<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> pm15mRW =
 
 287                 new EsDataObjectReaderWriter2<>(dbClient, Entity.Historicalperformance15min,
 
 288                         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data.class);
 
 289         pm15mRW.setEsIdAttributeName("_nodeName");
 
 291         ReadPmdata15mListInputBuilder inputBuilder = new ReadPmdata15mListInputBuilder();
 
 292         PaginationBuilder paginationBuilder = new PaginationBuilder();
 
 293         paginationBuilder.setPage(YangHelper2.getBigIntegerOrUint64(new BigInteger("1")));
 
 294         paginationBuilder.setSize(YangHelper2.getLongOrUint32(20L));
 
 295         inputBuilder.setPagination(paginationBuilder.build());
 
 297         ReadPmdata15mListInput input = inputBuilder.build();
 
 300         ReadPmdata15mListOutputBuilder outputBuilder = new ReadPmdata15mListOutputBuilder();
 
 301         long page = getPage(input);
 
 302         long pageSize = getPageSize(input);
 
 304         QueryBuilder query = fromFilter(YangHelper.getList(input.getFilter())).from((page - 1) * pageSize).size(pageSize);
 
 305         setSortOrder(query, YangHelper.getList(input.getSortorder()));
 
 307         SearchResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> result =
 
 308                 pm15mRW.doReadAll(query);
 
 310         out("Found: " + result.getHits().size());
 
 312         for (Data hit : result.getHits()) {
 
 313             out("Hit " + t++ + ":" + hit);
 
 315         setPagination(outputBuilder, page, pageSize, result.getTotal());
 
 316         outputBuilder.setData(result.getHits());
 
 320     public void test7() throws Exception {
 
 322         HostInfo[] hostInfo = HostInfoForTest.get();
 
 323         HtDatabaseClient dbClient = HtDatabaseClient.getClient(hostInfo);
 
 325         EsDataObjectReaderWriter2<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.mediator.server.list.output.Data> mediatorserverRW;
 
 326         mediatorserverRW = new EsDataObjectReaderWriter2<>(dbClient, Entity.MediatorServer,
 
 327                 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.mediator.server.list.output.Data.class)
 
 329                                 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.MediatorServerEntity.class)
 
 330                         .setEsIdAttributeName("_id");
 
 332         CreateMediatorServerInputBuilder inputBuilder = new CreateMediatorServerInputBuilder();
 
 333         inputBuilder.setName("Hans");
 
 334         inputBuilder.setUrl("MyGreatUrl");
 
 336         String id = mediatorserverRW.write(inputBuilder.build(), "testid");
 
 337         System.out.println(id);
 
 342     public void test8() throws IOException {
 
 346         System.out.println("Map " + input + " to " + YangToolsMapperHelper.toCamelCaseAttributeName(input));
 
 348         System.out.println("Map " + input + " to " + YangToolsMapperHelper.toCamelCaseAttributeName(input));
 
 350         System.out.println("Map " + input + " to " + YangToolsMapperHelper.toCamelCaseAttributeName(input));
 
 352         System.out.println("Map " + input + " to " + YangToolsMapperHelper.toCamelCaseAttributeName(input));
 
 354         System.out.println("Map " + input + " to " + YangToolsMapperHelper.toCamelCaseAttributeName(input));
 
 357     /* ---------------------------------
 
 360     private static String method() {
 
 361         String nameofCurrMethod = new Throwable().getStackTrace()[1].getMethodName();
 
 362         return nameofCurrMethod;
 
 365     private org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.DataBuilder getInventoryDataBuilder(
 
 366             String description, long treeLevel) {
 
 367         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.DataBuilder dataBuilder =
 
 368                 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.DataBuilder();
 
 369         dataBuilder.setDescription(description);
 
 370         dataBuilder.setTreeLevel(YangHelper2.getLongOrUint32(treeLevel));
 
 375     private static void out(String text) {
 
 376         System.out.println("----------------------");
 
 377         System.out.println(text);
 
 380     private static long getPage(EntityInput input) {
 
 381         return getPage(input, 1);
 
 384     private static long getPage(EntityInput input, long defaultValue) {
 
 385         return input.getPagination() != null ? input.getPagination().getPage().longValue() : defaultValue;
 
 388     private static long getPageSize(EntityInput input) {
 
 389         return getPageSize(input, 1);
 
 392     private static long getPageSize(EntityInput input, long defaultValue) {
 
 393         return input.getPagination() != null ? input.getPagination().getSize().longValue() : defaultValue;
 
 396     private static QueryBuilder fromFilter(@Nullable List<Filter> filters) {
 
 397         return fromFilter(filters, "");
 
 400     private static QueryBuilder fromFilter(@Nullable List<Filter> filters, String prefix) {
 
 401         if (filters == null || filters.size() == 0) {
 
 402             return QueryBuilders.matchAllQuery();
 
 404         } else if (filters.size() == 1) {
 
 405             return QueryBuilders.matchQuery(filters.get(0).getProperty(), filters.get(0).getFiltervalue());
 
 407             BoolQueryBuilder query = new BoolQueryBuilder();
 
 408             for (Filter fi : filters) {
 
 409                 query.must(QueryBuilders.matchQuery((prefix != null ? prefix : "") + fi.getProperty(),
 
 410                         fi.getFiltervalue()));
 
 417     private static QueryBuilder setSortOrder(QueryBuilder query, @Nullable List<Sortorder> sortorder) {
 
 418         return setSortOrder(query, sortorder, "");
 
 421     private static QueryBuilder setSortOrder(QueryBuilder query, @Nullable List<Sortorder> sortorder, String prefix) {
 
 422         if (sortorder != null && sortorder.size() > 0) {
 
 423             for (Sortorder so : sortorder) {
 
 424                 query.sort((prefix != null ? prefix : "") + so.getProperty(),
 
 425                         so.getSortorder() == SortOrder.Ascending
 
 426                                 ? org.onap.ccsdk.features.sdnr.wt.common.database.queries.SortOrder.ASCENDING
 
 427                                 : org.onap.ccsdk.features.sdnr.wt.common.database.queries.SortOrder.DESCENDING);
 
 434     private static void setPagination(ReadPmdata15mListOutputBuilder outputBuilder, long page, long pageSize,
 
 436         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Pagination value =
 
 437                 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.PaginationBuilder()
 
 438                 .setPage(YangHelper2.getBigIntegerOrUint64(BigInteger.valueOf(page))).setSize(YangHelper2.getLongOrUint32(pageSize))
 
 439                 .setTotal(YangHelper2.getBigIntegerOrUint64(BigInteger.valueOf(totalSize))).build();
 
 440         outputBuilder.setPagination(value);