private FeatureSource<FeatureType, Feature> getFeatureSource( TypeMapping dto, Map<String, DataAccess<FeatureType, Feature>> sourceDataStores) throws IOException { String dsId = dto.getSourceDataStore(); String typeName = dto.getSourceTypeName(); DataAccess<FeatureType, Feature> sourceDataStore = sourceDataStores.get(dsId); if (sourceDataStore == null) { throw new DataSourceException( "datastore " + dsId + " not found for type mapping " + dto); } AppSchemaDataAccessConfigurator.LOGGER.fine( "asking datastore " + sourceDataStore + " for source type " + typeName); Name name = Types.degloseName(typeName, namespaces); FeatureSource fSource = sourceDataStore.getFeatureSource(name); if (fSource instanceof XmlFeatureSource) { ((XmlFeatureSource) fSource).setNamespaces(namespaces); } AppSchemaDataAccessConfigurator.LOGGER.fine("found feature source for " + typeName); return fSource; }
duplicate.setMappingName(dtoMappingName.getTargetElementName()); duplicate.setSourceDataStore(dtoMappingName.getSourceDataStore()); duplicate.setSourceTypeName(dtoMappingName.getSourceTypeName()); duplicate.setTargetElementName(dtoMappingName.getTargetElementName()); mappings.add(dtoMappingName);
duplicate.setMappingName(dtoMappingName.getMappingName()); duplicate.setSourceDataStore(dtoMappingName.getSourceDataStore()); duplicate.setSourceTypeName(dtoMappingName.getSourceTypeName()); duplicate.setTargetElementName(dtoMappingName.getTargetElementName()); mappings.add(dtoMappingName); duplicate.setMappingName(dtoNoMappingName.getTargetElementName()); duplicate.setSourceDataStore(dtoNoMappingName.getSourceDataStore()); duplicate.setSourceTypeName(dtoNoMappingName.getSourceTypeName()); duplicate.setTargetElementName(dtoNoMappingName.getTargetElementName()); mappings.clear(); duplicate.setSourceTypeName(dtoNoMappingName.getSourceTypeName()); duplicate.setTargetElementName(dtoNoMappingName.getTargetElementName()); mappings.clear();
private String getTypeName(TypeMapping mapping, SourceDataStore dataStoreConfig) { if (dataStoreConfig.getId().equals(mapping.getIndexDataStore())) { return mapping.getIndexTypeName(); } return mapping.getSourceTypeName(); }
private FeatureSource<FeatureType, Feature> getFeatureSource(TypeMapping dto, Map<String, DataAccess<FeatureType, Feature>> sourceDataStores) throws IOException { String dsId = dto.getSourceDataStore(); String typeName = dto.getSourceTypeName(); DataAccess<FeatureType, Feature> sourceDataStore = sourceDataStores.get(dsId); if (sourceDataStore == null) { throw new DataSourceException("datastore " + dsId + " not found for type mapping " + dto); } AppSchemaDataAccessConfigurator.LOGGER.fine("asking datastore " + sourceDataStore + " for source type " + typeName); Name name = Types.degloseName(typeName, namespaces); FeatureSource fSource = sourceDataStore.getFeatureSource(name); if (fSource instanceof XmlFeatureSource) { ((XmlFeatureSource) fSource).setNamespaces(namespaces); } AppSchemaDataAccessConfigurator.LOGGER.fine("found feature source for " + typeName); return fSource; }
@Override @SuppressWarnings("unchecked") public DataAccess<? extends FeatureType, ? extends Feature> buildDataStore( SourceDataStore dataStoreConfig, AppSchemaDataAccessDTO appSchemaConfig) { if (!(dataStoreConfig instanceof ComplexDataStoreConfig)) { // not an Apache Solr feature type mapping return null; } ComplexDataStoreConfig complexDataStoreConfig = (ComplexDataStoreConfig) dataStoreConfig; IndexesConfig indexesConfig = complexDataStoreConfig.getIndexesConfig(); // specify the index attributes we are interested in based on the App-Schema mappings file for (TypeMapping mapping : (Set<TypeMapping>) appSchemaConfig.getTypeMappings()) { // get all the attributes names used in the feature type mapping Set<String> attributes = extractAttributesNames(mapping); indexesConfig.addAttributes(mapping.getSourceTypeName(), attributes); if (isDenormalizedIndexMode(mapping, dataStoreConfig)) { // set as denormalizedIndexMode indexesConfig .getIndexConfig(getTypeName(mapping, dataStoreConfig)) .setDenormalizedIndexMode(true); } } // build the Apache Solr store return new SolrDataStore( complexDataStoreConfig.getUrl(), new SingleLayerMapper(), indexesConfig); }
duplicate.setMappingName(dtoMappingName.getTargetElementName()); duplicate.setSourceDataStore(dtoMappingName.getSourceDataStore()); duplicate.setSourceTypeName(dtoMappingName.getSourceTypeName()); duplicate.setTargetElementName(dtoMappingName.getTargetElementName()); mappings.add(dtoMappingName);
duplicate.setMappingName(dtoMappingName.getMappingName()); duplicate.setSourceDataStore(dtoMappingName.getSourceDataStore()); duplicate.setSourceTypeName(dtoMappingName.getSourceTypeName()); duplicate.setTargetElementName(dtoMappingName.getTargetElementName()); mappings.add(dtoMappingName); duplicate.setMappingName(dtoNoMappingName.getTargetElementName()); duplicate.setSourceDataStore(dtoNoMappingName.getSourceDataStore()); duplicate.setSourceTypeName(dtoNoMappingName.getSourceTypeName()); duplicate.setTargetElementName(dtoNoMappingName.getTargetElementName()); mappings.clear(); duplicate.setSourceTypeName(dtoNoMappingName.getSourceTypeName()); duplicate.setTargetElementName(dtoNoMappingName.getTargetElementName()); mappings.clear();