public boolean init( final List<QueryFilter> filterList, final CommonIndexModel model, final String[] visList) { this.filterList.clear(); this.filterList.addAll(filterList); this.model = model; commonIndexFieldIds = DataStoreUtils.getUniqueDimensionFields(model); return true; }
protected List<String> getDimensionFieldNames(final CommonIndexModel model) { final List<String> retVal = modelToDimensionsMap.get(model.getId()); if (retVal != null) { return retVal; } final List<String> dimensionFieldNames = DataStoreUtils.getUniqueDimensionFields(model); modelToDimensionsMap.put(model.getId(), dimensionFieldNames); return dimensionFieldNames; }
public boolean init(final byte[] filterBytes, final byte[] modelBytes) { filterList.clear(); if ((filterBytes != null) && (filterBytes.length > 0)) { final List<Persistable> decodedFilterList = URLClassloaderUtils.fromBinaryAsList(filterBytes); if (decodedFilterList == null) { LOGGER.error("Failed to decode filter list"); return false; } for (final Persistable decodedFilter : decodedFilterList) { if (decodedFilter instanceof QueryFilter) { filterList.add((QueryFilter) decodedFilter); } else { LOGGER.warn("Unrecognized type for decoded filter!" + decodedFilter.getClass().getName()); } } } model = (CommonIndexModel) URLClassloaderUtils.fromBinary(modelBytes); if (model == null) { LOGGER.error("Failed to decode index model"); return false; } commonIndexFieldIds = DataStoreUtils.getUniqueDimensionFields(model); return true; }
@Override public boolean apply(final MemoryStoreEntry input) { if ((readerParams.getFilter() != null) && options.isServerSideLibraryEnabled()) { final PersistentDataset<CommonIndexValue> commonData = new PersistentDataset<>(); final List<FlattenedUnreadData> unreadData = new ArrayList<>(); final List<String> commonIndexFieldNames = DataStoreUtils.getUniqueDimensionFields(readerParams.getIndex().getIndexModel()); for (final GeoWaveValue v : input.getRow().getFieldValues()) { unreadData.add( DataStoreUtils.aggregateFieldData( input.getRow(), v, commonData, readerParams.getIndex().getIndexModel(), commonIndexFieldNames)); } return readerParams.getFilter().accept( readerParams.getIndex().getIndexModel(), new DeferredReadCommonIndexedPersistenceEncoding( input.getRow().getAdapterId(), input.getRow().getDataId(), input.getRow().getPartitionKey(), input.getRow().getSortKey(), input.getRow().getNumberOfDuplicates(), commonData, unreadData.isEmpty() ? null : new UnreadFieldDataList(unreadData))); } return true; } }), readerParams.getRowTransformer());