/**
  * Execute to execute generic method from web services. Parameter produces types from cliente
  * response
  *
  * @param filter - Filter from client request
  * @param midware - Midware to request sends
  * @param produces - Type of markup produced, @see ResponseType
  * @return Url to midware request
  * @see ResponseType
  */
 private String executeFilterWfsURL(WrapperFilter filter, String midware, String produces) {
   try {
     MapRequestBuilder builder = MapRequestBuilder.getInstance(midware, produces);
     String result = builder.buidWfsURL(filter);
     log.info("request for : " + midware);
     log.info("using url : " + result);
     return result;
   } catch (Exception e) {
     throw new UnsupportedOperationException();
   }
 }
  /**
   * Execute to execute generic method from web services. Parameter produces types from cliente
   * response
   *
   * @param filter - Filter from client request
   * @param midware - Midware to request sends
   * @param imageType - Type of markup produced, @see ResponseType
   * @return URL to redirect wms request
   * @see WMS URL
   */
  private String executeFilterWMS(WrapperFilter filter, String midware, String imageType) {

    try {
      MapRequestBuilder builder = MapRequestBuilder.getInstance(midware, imageType);
      String result = builder.buidWMS(filter);
      log.info("request for : " + midware);
      log.info("image type : " + imageType);
      log.info("result url : " + result);
      return result;
    } catch (Exception e) {
      throw new UnsupportedOperationException();
    }
  }
 /**
  * Execute to execute generic method from web services. Parameter produces types from cliente
  * response
  *
  * @param filter - Filter from client request
  * @param midware - Midware to request sends
  * @param produces - Type of markup produced, @see ResponseType
  * @return Markup response
  * @see ResponseType
  */
 private String executeFilterWFS(WrapperFilter filter, String midware, String produces) {
   try {
     MapRequestBuilder builder = MapRequestBuilder.getInstance(midware, produces);
     String url = builder.buidWfsURL(filter);
     // log.info("request for : " +  midware);
     // log.info("using url : " + url);
     // return Response.seeOther(new URI(url)).build();
     String markupLanguage = builder.executeWFS(url);
     log.info("response markup wfs produces : " + produces);
     log.info(markupLanguage);
     return markupLanguage;
   } catch (Exception e) {
     throw new UnsupportedOperationException();
   }
 }