private void setSourceDataStoresRules(Digester digester) { final String dataStores = "AppSchemaDataAccess/sourceDataStores"; digester.addObjectCreate(dataStores, XMLConfigDigester.CONFIG_NS_URI, ArrayList.class); setCommonSourceDataStoreRules(SourceDataStore.class, "DataStore", digester); // extension point allowing data sources to provide a custom syntax for their configuration extensions.forEach(extension -> extension.configXmlDigesterDataSources(digester)); // set the list of SourceDataStores for ComlexDataStoreDTO digester.addSetNext(dataStores, "setSourceDataStores"); }
@Override public void configXmlDigesterDataSources(Digester digester) { XMLConfigDigester.setCommonSourceDataStoreRules( ComplexDataStoreConfigWithContext.class, "SolrDataStore", digester); String dataStores = "AppSchemaDataAccess/sourceDataStores/"; // set a rule for passing the URL digester.addCallMethod(dataStores + "SolrDataStore/url", "setUrl", 1); digester.addCallParam(dataStores + "SolrDataStore/url", 0); // set rules for parsing geometries digester.addSetProperties(dataStores + "SolrDataStore/index", "name", "currentIndex"); digester.addCallMethod(dataStores + "SolrDataStore/index/geometry", "addGeometry", 4); digester.addCallParam(dataStores + "SolrDataStore/index/geometry/name", 0); digester.addCallParam(dataStores + "SolrDataStore/index/geometry/srid", 1); digester.addCallParam(dataStores + "SolrDataStore/index/geometry/type", 2); digester.addCallParam(dataStores + "SolrDataStore/index/geometry", 3, "default"); }