public void supportsFeatures ( String baseUrl , WmsService . WmsVersion version , final String typeName , final Callback < WfsFeatureTypeDescriptionInfo , String > callback ) { wmsService . describeLayer ( baseUrl , typeName , version , new Callback < WmsDescribeLayerInfo , String > ( ) { @ Override public void onSuccess ( WmsDescribeLayerInfo describeLayerInfo ) { String wfsUrl = null ; for ( WmsLayerDescriptionInfo layerDescription : describeLayerInfo . getLayerDescriptions ( ) ) { if ( layerDescription . getWfs ( ) != null ) { wfsUrl = layerDescription . getWfs ( ) ; break ; } else if ( layerDescription . getOwsType ( ) == WmsLayerDescriptionInfo . WFS ) { wfsUrl = layerDescription . getOwsUrl ( ) ; break ; } } if ( wfsUrl != null ) { // we need an extra call for the schema !!! WfsServerExtension . getInstance ( ) . getWfsService ( ) . describeFeatureType ( WfsVersion . V1_0_0 , wfsUrl , typeName , callback ) ; } else { callback . onFailure ( "No WFS in layer description" ) ; } } @ Override public void onFailure ( String reason ) { callback . onFailure ( reason ) ; } } ) ; }
Find out if a certain WMS layer has support for features through WFS . If successful the WFS configuration will be returned .