void decode(FilterList filterList) { for(FilterEntry filterEntry : filterList) { System.out.println("ID: " + filterEntry.filterId() + " Action = " + filterEntry.filterActionAsString() + " DataType: " + DataType.asString(filterEntry.loadType()) + " Value: "); switch (filterEntry.loadType()) { case DataTypes.ELEMENT_LIST : decode(filterEntry.elementList()); break; case DataTypes.MAP : decode(filterEntry.map()); break; default: System.out.println(); break; } } } }
private void decode(Map map) { FilterList filterList; boolean findMapEntry = false; for(MapEntry mapEntry : map) { if (mapEntry.loadType() == DataTypes.FILTER_LIST) { filterList = mapEntry.filterList(); for(FilterEntry filterEntry : filterList) { if (filterEntry.loadType() == DataTypes.ELEMENT_LIST ) { if (decode(filterEntry.elementList())) { _serviceId = (int) mapEntry.key().uintValue(); findMapEntry = true; } } } } if (findMapEntry) return; } }
checkResult(filterEntry1.loadType(), com.thomsonreuters.ema.access.DataType.DataTypes.FIELD_LIST); checkResult(filterEntry1.load().dataType(), com.thomsonreuters.ema.access.DataType.DataTypes.FIELD_LIST); checkResult(filterEntry1.action(), com.thomsonreuters.ema.access.FilterEntry.FilterAction.SET); checkResult(filterEntry2.loadType(), com.thomsonreuters.ema.access.DataType.DataTypes.ELEMENT_LIST); checkResult(filterEntry2.load().dataType(), com.thomsonreuters.ema.access.DataType.DataTypes.ELEMENT_LIST); checkResult(filterEntry2.action(), com.thomsonreuters.ema.access.FilterEntry.FilterAction.SET); checkResult(filterEntry3.loadType(), com.thomsonreuters.ema.access.DataType.DataTypes.FILTER_LIST); checkResult(filterEntry3.load().dataType(), com.thomsonreuters.ema.access.DataType.DataTypes.FILTER_LIST); checkResult(filterEntry3.action(), com.thomsonreuters.ema.access.FilterEntry.FilterAction.SET); checkResult(filterEntry4.loadType(), com.thomsonreuters.ema.access.DataType.DataTypes.SERIES); checkResult(filterEntry4.load().dataType(), com.thomsonreuters.ema.access.DataType.DataTypes.SERIES); checkResult(filterEntry4.action(), com.thomsonreuters.ema.access.FilterEntry.FilterAction.SET); checkResult(filterEntry5.loadType(), com.thomsonreuters.ema.access.DataType.DataTypes.VECTOR); checkResult(filterEntry5.load().dataType(), com.thomsonreuters.ema.access.DataType.DataTypes.VECTOR); checkResult(filterEntry5.action(), com.thomsonreuters.ema.access.FilterEntry.FilterAction.SET); checkResult(filterEntry6.loadType(), com.thomsonreuters.ema.access.DataType.DataTypes.MAP); checkResult(filterEntry6.load().dataType(), com.thomsonreuters.ema.access.DataType.DataTypes.MAP); checkResult(filterEntry6.action(), com.thomsonreuters.ema.access.FilterEntry.FilterAction.SET); checkResult(filterEntry7.loadType(), com.thomsonreuters.ema.access.DataType.DataTypes.REFRESH_MSG); checkResult(filterEntry7.load().dataType(), com.thomsonreuters.ema.access.DataType.DataTypes.REFRESH_MSG); checkResult(filterEntry7.action(), com.thomsonreuters.ema.access.FilterEntry.FilterAction.SET); checkResult(filterEntry8.loadType(), com.thomsonreuters.ema.access.DataType.DataTypes.UPDATE_MSG);
JUnitTestConnect.setRsslData(filterListDec, filterList, Codec.majorVersion(), Codec.minorVersion(), null, null); TestUtilities.checkResult( filterListDec.iterator().next().loadType() == DataType.DataTypes.FIELD_LIST, "Check data type of an entry before calling the clear method" ); TestUtilities.checkResult( filterEntry.loadType() == DataType.DataTypes.NO_DATA, "Check the load type of the first FilterList entry" );