@Override public void entryIngested(final T entry, final GeoWaveRow... kvs) { final ByteArray visibility = new ByteArray(visibilityHandler.getVisibility(entry, kvs)); InternalDataStatistics<T, R, B> statistics = statisticsMap.get(visibility); if (statistics == null) { statistics = statisticsProvider.createDataStatistics(statisticsId); if (statistics == null) { return; } statistics.setVisibility(visibility.getBytes()); statisticsMap.put(visibility, statistics); } statistics.entryIngested(entry, kvs); }
@SuppressWarnings("unchecked") @Override public void entryDeleted(final T entry, final GeoWaveRow... kv) { final ByteArray visibilityByteArray = new ByteArray(visibilityHandler.getVisibility(entry, kv)); InternalDataStatistics<T, R, B> statistics = statisticsMap.get(visibilityByteArray); if (statistics == null) { statistics = statisticsProvider.createDataStatistics(statisticsId); statistics.setVisibility(visibilityByteArray.getBytes()); statisticsMap.put(visibilityByteArray, statistics); } if (statistics instanceof DeleteCallback) { ((DeleteCallback<T, GeoWaveRow>) statistics).entryDeleted(entry, kv); } }
@Override public void entryScanned(final T entry, final GeoWaveRow kv) { final ByteArray visibility = new ByteArray(visibilityHandler.getVisibility(entry, kv)); InternalDataStatistics<T, R, B> statistics = statisticsMap.get(visibility); if (statistics == null) { statistics = statisticsProvider.createDataStatistics(statisticsId); if (statistics == null) { return; } statistics.setVisibility(visibility.getBytes()); statisticsMap.put(visibility, statistics); } statistics.entryIngested(entry, kv); } }
public static InternalDataStatistics<?, ?, ?> setFields( final GeoWaveMetadata entry, final InternalDataStatistics<?, ?, ?> basicStats, final short adapterId) { if (basicStats != null) { basicStats.setAdapterId(adapterId); final int index = Bytes.indexOf(entry.getPrimaryId(), (byte) 0); if ((index > 0) && (index < (entry.getPrimaryId().length - 1))) { basicStats.setType( new BaseStatisticsType(Arrays.copyOfRange(entry.getPrimaryId(), 0, index))); basicStats.setExtendedId( StringUtils.stringFromBinary( Arrays.copyOfRange(entry.getPrimaryId(), index + 1, entry.getPrimaryId().length))); } else { basicStats.setType(new BaseStatisticsType(entry.getPrimaryId())); } final byte[] visibility = entry.getVisibility(); if (visibility != null) { basicStats.setVisibility(visibility); } } return basicStats; }