@Override
    protected ManagedConnectionFactory createMcf(
        org.jboss.jca.common.api.metadata.ds.DataSource arg0, String arg1, ClassLoader arg2)
        throws NotFoundException, DeployException {
      final LocalManagedConnectionFactory managedConnectionFactory =
          new LocalManagedConnectionFactory();
      managedConnectionFactory.setUserTransactionJndiName("java:comp/UserTransaction");
      managedConnectionFactory.setDriverClass(dataSourceConfig.getDriverClass());

      if (dataSourceConfig.getConnectionProperties() != null) {
        managedConnectionFactory.setConnectionProperties(
            buildConfigPropsString(dataSourceConfig.getConnectionProperties()));
      }
      if (dataSourceConfig.getConnectionUrl() != null) {
        managedConnectionFactory.setConnectionURL(dataSourceConfig.getConnectionUrl());
      }

      if (dataSourceConfig.getNewConnectionSql() != null) {
        managedConnectionFactory.setNewConnectionSQL(dataSourceConfig.getNewConnectionSql());
      }

      if (dataSourceConfig.getUrlSelectorStrategyClassName() != null) {
        managedConnectionFactory.setUrlSelectorStrategyClassName(
            dataSourceConfig.getUrlSelectorStrategyClassName());
      }
      setMcfProperties(managedConnectionFactory, dataSourceConfig, dataSourceConfig.getStatement());

      return managedConnectionFactory;
    }
    @Override
    protected ManagedConnectionFactory createMcf(
        org.jboss.jca.common.api.metadata.ds.DataSource arg0, String arg1, ClassLoader arg2)
        throws NotFoundException, DeployException {
      final LocalManagedConnectionFactory managedConnectionFactory =
          new LocalManagedConnectionFactory();
      managedConnectionFactory.setDriverClass(dataSourceConfig.getDriverClass());

      if (dataSourceConfig.getUrlDelimiter() != null) {
        try {
          managedConnectionFactory.setURLDelimiter(dataSourceConfig.getUrlDelimiter());
        } catch (Exception e) {
          throw ConnectorLogger.ROOT_LOGGER.failedToGetUrlDelimiter(e);
        }
      }

      if (dataSourceConfig.getDataSourceClass() != null) {
        managedConnectionFactory.setDataSourceClass(dataSourceConfig.getDataSourceClass());
      }

      if (dataSourceConfig.getConnectionProperties() != null) {
        managedConnectionFactory.setConnectionProperties(
            buildConfigPropsString(dataSourceConfig.getConnectionProperties()));
      }
      if (dataSourceConfig.getConnectionUrl() != null) {
        managedConnectionFactory.setConnectionURL(dataSourceConfig.getConnectionUrl());
      }

      if (dataSourceConfig.getNewConnectionSql() != null) {
        managedConnectionFactory.setNewConnectionSQL(dataSourceConfig.getNewConnectionSql());
      }

      if (dataSourceConfig.getUrlSelectorStrategyClassName() != null) {
        managedConnectionFactory.setUrlSelectorStrategyClassName(
            dataSourceConfig.getUrlSelectorStrategyClassName());
      }
      setMcfProperties(managedConnectionFactory, dataSourceConfig, dataSourceConfig.getStatement());

      return managedConnectionFactory;
    }