View Javadoc

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  }