1 package com.eviware.soapui.support.jdbc; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.SQLException; 6 7 import com.eviware.soapui.model.ModelItem; 8 import com.eviware.soapui.model.propertyexpansion.DefaultPropertyExpansionContext; 9 import com.eviware.soapui.model.propertyexpansion.PropertyExpander; 10 import com.eviware.soapui.model.propertyexpansion.PropertyExpansionContext; 11 12 public class JdbcUtils 13 { 14 15 public static final String PASS_TEMPLATE = "PASS_VALUE"; 16 public static Connection testConnection( ModelItem modelItem, String driver, String connectionString, String password ) 17 throws Exception, SQLException 18 { 19 PropertyExpansionContext context = new DefaultPropertyExpansionContext( modelItem ); 20 21 String drvr = PropertyExpander.expandProperties(context, driver).trim(); 22 String connStr = PropertyExpander.expandProperties(context, connectionString).trim(); 23 String pass = PropertyExpander.expandProperties(context, password).trim(); 24 if( connStr.contains( PASS_TEMPLATE ) ) 25 { 26 connStr = connStr.replaceFirst( PASS_TEMPLATE, pass ); 27 } 28 try 29 { 30 DriverManager.getDriver( connStr ); 31 } 32 catch( SQLException e ) 33 { 34 try 35 { 36 Class.forName( drvr ).newInstance(); 37 } 38 catch( Exception e1 ) 39 { 40 throw new Exception( "Failed to init connection for drvr [" + drvr + "], connectionString [" 41 + connectionString + "]" ); 42 } 43 } 44 return DriverManager.getConnection( connStr ); 45 46 } 47 48 }