@Override public byte[] getVisibility(final T entry, final GeoWaveRow... kvs) { List<GeoWaveValue> allVis = getAllVisibilities(kvs); if (allVis.size() == 1) { return allVis.get(0).getVisibility(); } int lowestOrdinal = Integer.MAX_VALUE; byte[] lowestOrdinalVisibility = null; for (GeoWaveValue v : allVis) { final int pos = BitmaskUtils.getLowestFieldPosition(v.getFieldMask()); if (pos == 0) { return v.getVisibility(); } if (pos <= lowestOrdinal) { lowestOrdinal = pos; lowestOrdinalVisibility = v.getVisibility(); } } return lowestOrdinalVisibility; } }
private void init() { int supportedStatsLength = 2; if (histogramConfig != null) { supportedStatsLength++; } supportedStats = new StatisticsId[supportedStatsLength]; supportedStats[0] = OverviewStatistics.STATS_TYPE.newBuilder().build().getId(); supportedStats[1] = BoundingBoxDataStatistics.STATS_TYPE.newBuilder().build().getId(); if (histogramConfig != null) { supportedStats[2] = HistogramStatistics.STATS_TYPE.newBuilder().build().getId(); } visibilityHandler = new DefaultFieldStatisticVisibility<>(); }