package org.jfox.jdbc.xa.microsoft;
import javax.sql.XADataSource;
import com.microsoft.jdbcx.sqlserver.SQLServerDataSource;
import org.jfox.jdbc.xa.XADataSourceFactory;
public class MICROSOFTXADataSourceFactory extends XADataSourceFactory {
public XADataSource newXADataSource(String url) throws Exception {
SQLServerDataSource sqlXaDS = new SQLServerDataSource();
URLProperties urlProp = parseSqlURL(url);
if(urlProp.containsKey("serverName")){
sqlXaDS.setServerName(urlProp.getProperty("serverName"));
}
if(urlProp.containsKey("portNumber")){
sqlXaDS.setPortNumber(Integer.parseInt(urlProp.getProperty("portNumber")));
}
if(urlProp.containsKey("databaseName")){
sqlXaDS.setDatabaseName(urlProp.getProperty("databaseName"));
}
if(urlProp.containsKey("embedded")){
sqlXaDS.setEmbedded(new Boolean(urlProp.getProperty("embedded")).booleanValue());
}
if(urlProp.containsKey("batchPerformanceWorkaround")){
sqlXaDS.setBatchPerformanceWorkaround(new Boolean(urlProp.getProperty("portNumber")).booleanValue());
}
if(urlProp.containsKey("selectMethod")){
sqlXaDS.setSelectMethod(urlProp.getProperty("selectMethod"));
}
else {
sqlXaDS.setSelectMethod("cursor");
}
return sqlXaDS;
}
public static void main(String[] args) {
}
}