public boolean init(final DataStorePluginOptions dataStore, final String typeName) { featureType = FeatureDataUtils.getFeatureType(dataStore, typeName); if (featureType == null) { return false; } schema = SchemaConverter.schemaFromFeatureType(featureType); if (schema == null) { return false; } GeomFunctionRegistry.registerGeometryFunctions(sparkSession); return true; }
final List<String> adapterTypes = FeatureDataUtils.getFeatureTypeNames(storeOptions); final int adapterCount = adapterTypes.size(); if (adapterCount > 0) {
private FeatureDataAdapter createOutputAdapter( final DataStorePluginOptions originalOptions, final String originalTypeName, final Index[] indices, String outputTypeName) { if (outputTypeName == null) { outputTypeName = createDefaultAdapterTypeName(originalTypeName, originalOptions); } final FeatureDataAdapter newAdapter = FeatureDataUtils.cloneFeatureDataAdapter(originalOptions, originalTypeName, outputTypeName); newAdapter.init(indices); return newAdapter; }
if (typeName == null) { // if no id provided, locate a single final List<String> typeNameList = FeatureDataUtils.getFeatureTypeNames(inputDataStore); if (typeNameList.size() == 1) { typeName = typeNameList.get(0); final String timeField = FeatureDataUtils.getTimeField(inputDataStore, typeName); final String geomField = FeatureDataUtils.getGeomField(inputDataStore, typeName);
final String typeAxis = getAxis(crs);
@Override public void readFields(final DataInput input) throws IOException { try { String ns = input.readUTF(); featureType = FeatureDataUtils.decodeType( "-".equals(ns) ? "" : ns, input.readUTF(), input.readUTF(), input.readUTF()); } catch (final SchemaException e) { throw new IOException("Failed to parse the encoded feature type", e); } final SimpleFeatureBuilder builder = new SimpleFeatureBuilder(featureType); // read the fid final String fid = input.readUTF(); // read the other attributes, build the feature for (final AttributeDescriptor ad : featureType.getAttributeDescriptors()) { final Object att = readAttribute(ad, input); builder.add(att); } // build the feature feature = builder.buildFeature(fid); }
@Override public void write(final DataOutput output) throws IOException { output.writeUTF( featureType.getName().getNamespaceURI() == null ? "-" : featureType.getName().getNamespaceURI()); output.writeUTF(featureType.getTypeName()); output.writeUTF(DataUtilities.encodeType(featureType)); output.writeUTF(FeatureDataUtils.getAxis(featureType.getCoordinateReferenceSystem())); // write feature id output.writeUTF(feature.getID()); // write the attributes for (final AttributeDescriptor ad : featureType.getAttributeDescriptors()) { final Object value = feature.getAttribute(ad.getLocalName()); writeAttribute(output, ad, value); } }
try { final SimpleFeatureType myType = FeatureDataUtils.decodeType( namespace, typeName,
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; }
public static FeatureDataAdapter cloneFeatureDataAdapter( final DataStorePluginOptions storeOptions, final String originalTypeName, final String newTypeName) { // Get original feature type info final SimpleFeatureType oldType = FeatureDataUtils.getFeatureType(storeOptions, originalTypeName); // Build type using new name final SimpleFeatureTypeBuilder sftBuilder = new SimpleFeatureTypeBuilder(); sftBuilder.init(oldType); sftBuilder.setName(newTypeName); final SimpleFeatureType newType = sftBuilder.buildFeatureType(); // Create new adapter that will use new typename final FeatureDataAdapter newAdapter = new FeatureDataAdapter(newType); return newAdapter; }
FeatureDataUtils.getAxis(persistedFeatureType.getCoordinateReferenceSystem()); final String typeName = reprojectedFeatureType.getTypeName(); final byte[] typeNameBytes = StringUtils.stringToBinary(typeName);
final List<String> typeNames = FeatureDataUtils.getFeatureTypeNames(storeOptions); if (!typeNames.isEmpty()) { adapterTypeName = typeNames.get(0);
featureTypeNames.add(typeName); } else { // otherwise, grab all the feature adapters featureTypeNames = FeatureDataUtils.getFeatureTypeNames(inputDataStore);