public PersistentDataset(final String fieldName, final T value) { this(); addValue(fieldName, value); }
@Override public void convertUnknownValues(final DataTypeAdapter<?> adapter, final CommonIndexModel model) { final Set<Entry<String, byte[]>> unknownDataValues = getUnknownData().getValues().entrySet(); for (final Entry<String, byte[]> v : unknownDataValues) { final FieldReader<Object> reader = adapter.getReader(v.getKey()); final Object value = reader.readField(v.getValue()); adapterExtendedData.addValue(v.getKey(), value); } } }
protected FlattenedUnreadData aggregateFieldData( final Cell cell, final PersistentDataset<CommonIndexValue> commonData) { final byte[] qualBuf = CellUtil.cloneQualifier(cell); final byte[] valBuf = CellUtil.cloneValue(cell); final FlattenedDataSet dataSet = DataStoreUtils.decomposeFlattenedFields( qualBuf, valBuf, null, commonIndexFieldIds.size() - 1); final List<FlattenedFieldInfo> fieldInfos = dataSet.getFieldsRead(); for (final FlattenedFieldInfo fieldInfo : fieldInfos) { final int ordinal = fieldInfo.getFieldPosition(); if (ordinal < commonIndexFieldIds.size()) { final String commonIndexFieldName = commonIndexFieldIds.get(ordinal); final FieldReader<? extends CommonIndexValue> reader = model.getReader(commonIndexFieldName); if (reader != null) { final CommonIndexValue fieldValue = reader.readField(fieldInfo.getValue()); commonData.addValue(commonIndexFieldName, fieldValue); } else { LOGGER.error("Could not find reader for common index field: " + commonIndexFieldName); } } } return dataSet.getFieldsDeferred(); }
final CommonIndexValue fieldValue = reader.readField(fieldInfo.getValue()); fieldValue.setVisibility(value.getVisibility()); commonData.addValue(commonIndexFieldName, fieldValue); } else { LOGGER.error("Could not find reader for common index field: " + commonIndexFieldName);
@Override public void convertUnknownValues(final DataTypeAdapter<?> adapter, final CommonIndexModel model) { if (unreadData != null) { final List<FlattenedFieldInfo> fields = unreadData.finishRead(); for (final FlattenedFieldInfo field : fields) { String fieldName = adapter.getFieldNameForPosition(model, field.getFieldPosition()); if (fieldName == null) { fieldName = adapter.getFieldNameForPosition(model, field.getFieldPosition()); } final FieldReader<Object> reader = adapter.getReader(fieldName); final Object value = reader.readField(field.getValue()); adapterExtendedData.addValue(fieldName, value); } } } }
final CommonIndexValue indexValue = indexFieldReader.readField(fieldInfo.getValue()); indexValue.setVisibility(value.getVisibility()); commonData.addValue(fieldName, indexValue); } else { final FieldReader<?> extFieldReader = dataAdapter.getReader(fieldName); final Object objValue = extFieldReader.readField(fieldInfo.getValue()); adapterExtendedData.addValue(fieldName, objValue); } else { LOGGER.error("field reader not found for data entry, the value may be ignored"); unknownData.addValue(fieldName, fieldInfo.getValue()); ((AbstractDataAdapter) dataAdapter.getAdapter()).getFieldHandler(dimension); final CommonIndexValue commonIndexValue = fieldHandler.toIndexValue(adapterExtendedData); commonData.addValue(dimension.getFieldName(), commonIndexValue);
@Override public AdapterPersistenceEncoding encode( final GridCoverage entry, final CommonIndexModel indexModel) { final PersistentDataset<Object> adapterExtendedData = new PersistentDataset<>(); adapterExtendedData.addValue(DATA_FIELD_ID, getRasterTileFromCoverage(entry)); final AdapterPersistenceEncoding encoding; if (entry instanceof FitToIndexGridCoverage) { encoding = new FitToIndexPersistenceEncoding( new byte[0], new PersistentDataset<CommonIndexValue>(), adapterExtendedData, ((FitToIndexGridCoverage) entry).getPartitionKey(), ((FitToIndexGridCoverage) entry).getSortKey()); } else { // this shouldn't happen LOGGER.warn("Grid coverage is not fit to the index"); encoding = new AdapterPersistenceEncoding( new byte[0], new PersistentDataset<CommonIndexValue>(), adapterExtendedData); } return encoding; }