protected Map<Short, RowMergingDataAdapter> getMergingAdapters( final PersistentAdapterStore adapterStore) { final Map<Short, RowMergingDataAdapter> mergingAdapters = new HashMap<>(); for (final Short adapterId : adapterIds) { final DataTypeAdapter<?> adapter = adapterStore.getAdapter(adapterId).getAdapter(); if ((adapter instanceof RowMergingDataAdapter) && (((RowMergingDataAdapter) adapter).getTransform() != null)) { mergingAdapters.put(adapterId, (RowMergingDataAdapter) adapter); } } return mergingAdapters; }
public static boolean isRowMerging( final PersistentAdapterStore adapterStore, final short[] adapterIds) { if (adapterIds != null) { for (final short adapterId : adapterIds) { if (isRowMerging(adapterStore.getAdapter(adapterId).getAdapter())) { return true; } } } else { try (CloseableIterator<InternalDataAdapter<?>> it = adapterStore.getAdapters()) { while (it.hasNext()) { if (isRowMerging(it.next().getAdapter())) { return true; } } } } return false; } }
private RedisScoredSetWrapper<GeoWaveRedisPersistedRow> getSet( final Pair<String, Short> setNameAndAdapterId) { return RedisUtils.getRowSet( client, compression, setNameAndAdapterId.getLeft(), RedisUtils.isSortByTime(adapterStore.getAdapter(setNameAndAdapterId.getRight())), visibilityEnabled); }
private DataTypeAdapter<?> getAdapterInternal(final String typeName) { // first try to get it from the job context DataTypeAdapter<?> adapter = getDataAdapter(context, typeName); if (adapter == null) { // then try to get it from the persistent store adapter = persistentAdapterStore.getAdapter(internalAdapterStore.getAdapterId(typeName)); } if (adapter != null) { adapterCache.put(typeName, adapter); } return adapter; }
private RocksDBIndexTable getIndexTable(final CacheKey cacheKey) { return RocksDBUtils.getIndexTable( client, cacheKey.tableName, cacheKey.adapterId, cacheKey.partition, RocksDBUtils.isSortByTime(adapterStore.getAdapter(cacheKey.adapterId))); }
@Override public String[] getMetadataNames(final String coverageName) { if (!checkName(coverageName)) { LOGGER.warn("Unable to find data adapter for '" + coverageName + "'"); return null; } final DataTypeAdapter<?> adapter = geowaveAdapterStore.getAdapter(getAdapterId(coverageName)).getAdapter(); final Set<String> var = ((RasterDataAdapter) adapter).getMetadata().keySet(); return var.toArray(new String[var.size()]); }
public static Pair<Boolean, Boolean> isGroupByRowAndIsSortByTime( final RangeReaderParams<?> readerParams, final short adapterId) { final boolean sortByTime = isSortByTime(readerParams.getAdapterStore().getAdapter(adapterId)); return Pair.of(readerParams.isMixedVisibility() || sortByTime, sortByTime); }
public static Pair<Boolean, Boolean> isGroupByRowAndIsSortByTime( final RangeReaderParams<?> readerParams, final short adapterId) { final boolean sortByTime = isSortByTime(readerParams.getAdapterStore().getAdapter(adapterId)); return Pair.of(readerParams.isMixedVisibility() || sortByTime, sortByTime); }
@Override public String getMetadataValue(final String coverageName, final String name) { if (!checkName(coverageName)) { LOGGER.warn("Unable to find data adapter for '" + coverageName + "'"); return null; } final DataTypeAdapter<?> adapter = geowaveAdapterStore.getAdapter(getAdapterId(coverageName)).getAdapter(); return ((RasterDataAdapter) adapter).getMetadata().get(name); }
public boolean setOrRetrieveAdapter( final InternalDataAdapter<T> adapter, final short internalAdapterId, final PersistentAdapterStore adapterStore) { // Verify the current data adapter if (setDataAdapter(adapter, false)) { return true; } // Can't retrieve an adapter without the store if (adapterStore == null) { return false; } // Try to retrieve the adapter from the store if (setDataAdapter((InternalDataAdapter<T>) adapterStore.getAdapter(internalAdapterId), true)) { return true; } // No adapter set or retrieved return false; }
@Override protected boolean checkName(final String coverageName) { Utilities.ensureNonNull("coverageName", coverageName); final DataTypeAdapter<?> adapter = geowaveAdapterStore.getAdapter(getAdapterId(coverageName)).getAdapter(); return (adapter != null) && (adapter instanceof RasterDataAdapter); }
public static DataTypeAdapter getDataAdapter( final DataStorePluginOptions dataStore, final String typeName) { final Short adapterId = dataStore.createInternalAdapterStore().getAdapterId(typeName); if (adapterId == null) { return null; } final DataTypeAdapter adapter = dataStore.createAdapterStore().getAdapter(adapterId); if (adapter == null) { return null; } return adapter; }
/** Returns an index writer to perform batched write operations for the given typename */ @Override public <T> Writer<T> createWriter(final String typeName) { final Short adapterId = internalAdapterStore.getAdapterId(typeName); if (adapterId == null) { LOGGER.warn( "DataTypeAdapter does not exist for type '" + typeName + "'. Add it using addType(<dataTypeAdapter>)."); return null; } final InternalDataAdapter<T> adapter = (InternalDataAdapter<T>) adapterStore.getAdapter(adapterId); if (adapter == null) { LOGGER.warn( "DataTypeAdapter is undefined for type '" + typeName + "'. Add it using addType(<dataTypeAdapter>)."); return null; } final AdapterToIndexMapping mapping = indexMappingStore.getIndicesForAdapter(adapterId); if (mapping == null) { LOGGER.warn( "No indices for type '" + typeName + "'. Add indices using addIndex(<typename>, <indices>)."); return null; } return createWriter(adapter, mapping.getIndices(indexStore)); }
public static SimpleFeatureType getFeatureType( final DataStorePluginOptions dataStore, String typeName) { // if no id provided, locate a single featureadapter if (typeName == null) { final List<String> typeNameList = FeatureDataUtils.getFeatureTypeNames(dataStore); if (typeNameList.size() >= 1) { typeName = typeNameList.get(0); } else if (typeNameList.isEmpty()) { LOGGER.error("No feature adapters found for use with time param"); return null; } else { LOGGER.error("Multiple feature adapters found. Please specify one."); return null; } } final PersistentAdapterStore adapterStore = dataStore.createAdapterStore(); final InternalAdapterStore internalAdapterStore = dataStore.createInternalAdapterStore(); final DataTypeAdapter<?> adapter = adapterStore.getAdapter(internalAdapterStore.getAdapterId(typeName)).getAdapter(); if ((adapter != null) && (adapter instanceof GeotoolsFeatureDataAdapter)) { final GeotoolsFeatureDataAdapter gtAdapter = (GeotoolsFeatureDataAdapter) adapter; return gtAdapter.getFeatureType(); } return null; }
private GeotoolsFeatureDataAdapter getAdapter(final String typeName) { final GeotoolsFeatureDataAdapter featureAdapter; final short adapterId = internalAdapterStore.getAdapterId(typeName); final InternalDataAdapter<?> adapter = adapterStore.getAdapter(adapterId); if ((adapter == null) || !(adapter.getAdapter() instanceof GeotoolsFeatureDataAdapter)) { return null; } featureAdapter = (GeotoolsFeatureDataAdapter) adapter.getAdapter(); if (featureNameSpaceURI != null) { if (adapter.getAdapter() instanceof FeatureDataAdapter) { ((FeatureDataAdapter) featureAdapter).setNamespace(featureNameSpaceURI.toString()); } } return featureAdapter; }
private InternalDataAdapter<?> getAdapter(final PropertyManagement runTimeProperties) throws Exception { final PersistentAdapterStore adapterStore = super.getAdapterStore(runTimeProperties); final InternalAdapterStore internalAdapterStore = getInternalAdapterStore(runTimeProperties); Short sampleInternalAdapterId = internalAdapterStore.getAdapterId( runTimeProperties.getPropertyAsString( SampleParameters.Sample.DATA_TYPE_NAME, "sample")); if (sampleInternalAdapterId == null) { return null; } return adapterStore.getAdapter(sampleInternalAdapterId); }
protected InternalDataAdapter<?> getAdapter( final PropertyManagement runTimeProperties, final ParameterEnum dataTypeEnum, final ParameterEnum dataNameSpaceEnum) throws Exception { final String projectionDataTypeId = runTimeProperties.storeIfEmpty(dataTypeEnum, "convex_hull").toString(); final PersistentAdapterStore adapterStore = getAdapterStore(runTimeProperties); final InternalAdapterStore internalAdapterStore = getInternalAdapterStore(runTimeProperties); final Short convexHullInternalAdapterId = internalAdapterStore.getAdapterId(projectionDataTypeId); if (convexHullInternalAdapterId == null) { final String namespaceURI = runTimeProperties.storeIfEmpty( dataNameSpaceEnum, BasicFeatureTypes.DEFAULT_NAMESPACE).toString(); final FeatureDataAdapter adapter = AnalyticFeature.createGeometryFeatureAdapter( projectionDataTypeId, new String[0], namespaceURI, ClusteringUtils.CLUSTERING_CRS); final short internalAdapterId = internalAdapterStore.addTypeName(adapter.getTypeName()); final InternalDataAdapter<?> internalAdapter = new InternalDataAdapterWrapper<>(adapter, internalAdapterId); adapterStore.addAdapter(internalAdapter); return internalAdapter; } return adapterStore.getAdapter(convexHullInternalAdapterId); }
public static String getGeomField(final DataStorePluginOptions dataStore, final String typeName) { final PersistentAdapterStore adapterStore = dataStore.createAdapterStore(); final InternalAdapterStore internalAdapterStore = dataStore.createInternalAdapterStore(); final DataTypeAdapter<?> adapter = adapterStore.getAdapter(internalAdapterStore.getAdapterId(typeName)).getAdapter(); if ((adapter != null) && (adapter instanceof GeotoolsFeatureDataAdapter)) { final GeotoolsFeatureDataAdapter gtAdapter = (GeotoolsFeatureDataAdapter) adapter; final SimpleFeatureType featureType = gtAdapter.getFeatureType(); if (featureType.getGeometryDescriptor() != null) { return featureType.getGeometryDescriptor().getLocalName(); } } return null; }
@Override public ImageLayout getImageLayout(final String coverageName) throws IOException { if (!checkName(coverageName)) { LOGGER.warn("Unable to find data adapter for '" + coverageName + "'"); return null; } final RasterDataAdapter adapter = (RasterDataAdapter) geowaveAdapterStore.getAdapter(getAdapterId(coverageName)); final GridEnvelope gridEnvelope = getOriginalGridRange(); return new ImageLayout().setMinX(gridEnvelope.getLow(0)).setMinY( gridEnvelope.getLow(1)).setTileWidth(adapter.getTileSize()).setTileHeight( adapter.getTileSize()).setSampleModel(adapter.getSampleModel()).setColorModel( adapter.getColorModel()).setWidth(gridEnvelope.getHigh(0)).setHeight( gridEnvelope.getHigh(1)); }
public static String getTimeField(final DataStorePluginOptions dataStore, final String typeName) { final PersistentAdapterStore adapterStore = dataStore.createAdapterStore(); final InternalAdapterStore internalAdapterStore = dataStore.createInternalAdapterStore(); final DataTypeAdapter<?> adapter = adapterStore.getAdapter(internalAdapterStore.getAdapterId(typeName)).getAdapter(); if ((adapter != null) && (adapter instanceof GeotoolsFeatureDataAdapter)) { final GeotoolsFeatureDataAdapter gtAdapter = (GeotoolsFeatureDataAdapter) adapter; final SimpleFeatureType featureType = gtAdapter.getFeatureType(); final TimeDescriptors timeDescriptors = gtAdapter.getTimeDescriptors(); // If not indexed, try to find a time field if ((timeDescriptors == null) || !timeDescriptors.hasTime()) { for (final AttributeDescriptor attrDesc : featureType.getAttributeDescriptors()) { final Class<?> bindingClass = attrDesc.getType().getBinding(); if (TimeUtils.isTemporal(bindingClass)) { return attrDesc.getLocalName(); } } } else { if (timeDescriptors.getTime() != null) { return timeDescriptors.getTime().getLocalName(); } else if (timeDescriptors.getStartRange() != null) { // give back start|stop string return timeDescriptors.getStartRange().getLocalName() + "|" + timeDescriptors.getEndRange().getLocalName(); } } } return null; }