// Path: client-transport/src/main/java/com/nortal/jroad/client/service/configuration/provider/XRoadServiceConfigurationProvider.java
// public interface XRoadServiceConfigurationProvider {
//   XRoadServiceConfiguration createConfiguration(String database, String wsdldatabase, String method, String version);
// }
// 
// Path: client-transport/src/main/java/com/nortal/jroad/client/service/consumer/XRoadConsumer.java
// public interface XRoadConsumer {
// 
//   /**
//    * Performs an invocation of some X-tee service.
//    *
//    * @param <I> input object type
//    * @param <O> output object type
//    * @param input Java object representing the request
//    * @param xTeeServiceConfiguration service configuration data
//    * @return Java object representing the response
//    */
//   <I, O> XRoadMessage<O> sendRequest(XRoadMessage<I> input, XRoadServiceConfiguration xTeeServiceConfiguration)
//       throws XRoadServiceConsumptionException;
// 
//   /**
//    * Performs an invocation of some X-tee service.
//    *
//    * @param <I> input object type
//    * @param <O> output object type
//    * @param input Java object representing the request
//    * @param xTeeServiceConfiguration service configuration data
//    * @param callback Custom callback to invoke for sending the message
//    * @param extractor Custom extractor to invoke for extracting the message
//    * @return Java object representing the response
//    */
//   <I, O> XRoadMessage<O> sendRequest(XRoadMessage<I> input,
//                                      XRoadServiceConfiguration xTeeServiceConfiguration,
//                                      CustomCallback callback,
//                                      CustomExtractor extractor) throws XRoadServiceConsumptionException;
// 
// }


import javax.annotation.Resource;
import com.nortal.jroad.client.service.configuration.provider.XRoadServiceConfigurationProvider;
import com.nortal.jroad.client.service.consumer.XRoadConsumer;
package com.nortal.jroad.client.service;



/**
 * @author Aleksei Bogdanov (aleksei.bogdanov@nortal.com)
 */
public abstract class XRoadDatabaseService extends BaseXRoadDatabaseService {

  @Resource
  protected XRoadConsumer xRoadConsumer;
  @Resource
  protected XRoadServiceConfigurationProvider xRoadServiceConfigurationProvider;

  @Override
  protected XRoadConsumer getXRoadConsumer() {
    return xRoadConsumer;
  }

  @Override
// Path: client-transport/src/main/java/com/nortal/jroad/client/service/configuration/provider/XRoadServiceConfigurationProvider.java
// public interface XRoadServiceConfigurationProvider {
//   XRoadServiceConfiguration createConfiguration(String database, String wsdldatabase, String method, String version);
// }
// 
// Path: client-transport/src/main/java/com/nortal/jroad/client/service/consumer/XRoadConsumer.java
// public interface XRoadConsumer {
// 
//   /**
//    * Performs an invocation of some X-tee service.
//    *
//    * @param <I> input object type
//    * @param <O> output object type
//    * @param input Java object representing the request
//    * @param xTeeServiceConfiguration service configuration data
//    * @return Java object representing the response
//    */
//   <I, O> XRoadMessage<O> sendRequest(XRoadMessage<I> input, XRoadServiceConfiguration xTeeServiceConfiguration)
//       throws XRoadServiceConsumptionException;
// 
//   /**
//    * Performs an invocation of some X-tee service.
//    *
//    * @param <I> input object type
//    * @param <O> output object type
//    * @param input Java object representing the request
//    * @param xTeeServiceConfiguration service configuration data
//    * @param callback Custom callback to invoke for sending the message
//    * @param extractor Custom extractor to invoke for extracting the message
//    * @return Java object representing the response
//    */
//   <I, O> XRoadMessage<O> sendRequest(XRoadMessage<I> input,
//                                      XRoadServiceConfiguration xTeeServiceConfiguration,
//                                      CustomCallback callback,
//                                      CustomExtractor extractor) throws XRoadServiceConsumptionException;
// 
// }


// Path: client-transport/src/main/java/com/nortal/jroad/client/service/XRoadDatabaseService.java
import javax.annotation.Resource;
import com.nortal.jroad.client.service.configuration.provider.XRoadServiceConfigurationProvider;
import com.nortal.jroad.client.service.consumer.XRoadConsumer;

package com.nortal.jroad.client.service;



/**
 * @author Aleksei Bogdanov (aleksei.bogdanov@nortal.com)
 */
public abstract class XRoadDatabaseService extends BaseXRoadDatabaseService {

  @Resource
  protected XRoadConsumer xRoadConsumer;
  @Resource
  protected XRoadServiceConfigurationProvider xRoadServiceConfigurationProvider;

  @Override
  protected XRoadConsumer getXRoadConsumer() {
    return xRoadConsumer;
  }

  @Override
  protected XRoadServiceConfigurationProvider getXRoadServiceConfigurationProvider() {