private void doDelete( Delete delete, Lock lock ) throws OWSException { LOG.debug( "doDelete: " + delete ); QName ftName = delete.getTypeName(); FeatureStore fs = service.getStore( ftName ); if ( fs == null ) { throw new OWSException( Messages.get( "WFS_FEATURE_TYPE_NOT_SERVED", ftName ), INVALID_PARAMETER_VALUE ); } FeatureStoreTransaction ta = acquireTransaction( fs ); Filter filter = delete.getFilter(); // superimpose default query CRS Filters.setDefaultCRS( filter, master.getDefaultQueryCrs() ); try { switch ( filter.getType() ) { case ID_FILTER: { deleted += ta.performDelete( (IdFilter) filter, lock ); break; } case OPERATOR_FILTER: { deleted += ta.performDelete( ftName, (OperatorFilter) filter, lock ); break; } } } catch ( FeatureStoreException e ) { throw new OWSException( Messages.get( "WFS_ERROR_PERFORMING_DELETE", e.getMessage() ), NO_APPLICABLE_CODE ); } }